TIL
1. 직사각형 별 찍기
//개인 솔루션
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
for(int i=0 ; i<b ; i++){
for(int j=0; j<a ; j++){
System.out.print("*");
}
System.out.println();
}
}
}
//공부해볼 코드
import java.util.Scanner;
import java.util.stream.IntStream;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
StringBuilder sb = new StringBuilder();
IntStream.range(0, a).forEach(s -> sb.append("*"));
IntStream.range(0, b).forEach(s -> System.out.println(sb.toString()));
}
}
2. 짝수와 홀수
//개인 솔루션
class Solution {
public String solution(int num) {
String answer = "";
if(num%2==0){
answer="Even";
}
else{
answer="Odd";
}
return answer;
}
}
//공부할 코드 (삼항연산자)
public class EvenOrOdd {
String evenOrOdd(int num) {
return num % 2 == 0 ? "Even": "Odd";
}
public static void main(String[] args) {
//String str = "1 2 3 4";
EvenOrOdd evenOrOdd = new EvenOrOdd();
//아래는 테스트로 출력해 보기 위한 코드입니다.
System.out.println("결과 : " + evenOrOdd.evenOrOdd(3));
System.out.println("결과 : " + evenOrOdd.evenOrOdd(2));
}
}
4. 두 정수 사이의 합
//개인 솔루션
class Solution {
public long solution(int a, int b) {
long answer = 0;
if(a>b){
for(long i=b;i<=a;i++){
answer += i;
}
}
else if(a<b){
for (long i=a;i<=b;i++){
answer += i;
}
}
else{
answer = a;
}
return answer;
}
}
//공부해볼 코드 (등차수열의 합 공식)
class Solution {
public long solution(int a, int b) {
return sumAtoB(Math.min(a, b), Math.max(b, a));
}
private long sumAtoB(long a, long b) {
return (b - a + 1) * (a + b) / 2;
}
}
5. 문자열을 정수로 바꾸기
Java String > Int형태로 바꾸는 함수
//개인 솔루션
class Solution {
public int solution(String s) {
int answer = 0;
answer = Integer.parseInt(s);
return answer;
}
}
6. 없는 숫자 더하기
//개인 솔루션
class Solution {
public int solution(int[] numbers) {
int answer = 0;
for(int sum=0 ; sum<=9 ; sum++){
answer += sum;
}
for(int index=0 ; index < numbers.length ; index++){
answer -= numbers[index];
}
return answer;
}
}
//공부해볼 코드 (함수 이용)
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution {
public int solution(int[] numbers) {
return IntStream.range(0, 10).filter(i -> Arrays.stream(numbers).noneMatch(num -> i == num)).sum();
}
}
//공부해볼 코드2 (삼항연산자)
class Solution {
public int solution(int[] numbers) {
var map = new int[10];
for (int v : numbers) map[v] = 1;
int sum = 0;
for (int v = 0; v < map.length; v++) sum += (map[v] == 0) ? v : 0;
return sum;
}
}
8. 평균 구하기
//개인 솔루션
class Solution {
public double solution(int[] arr) {
double answer = 0;
double sum = 0;
for (int i=0 ; i<arr.length ; i++){
sum += arr[i];
answer = sum/arr.length;
}
return answer;
}
}
9. 핸드폰 번호 가리기
class Solution {
public String solution(String phone_number) {
String answer = "";
char[] secretpn = new char[phone_number.length()];
for(int i=0 ; i<phone_number.length() ; i++){
if ( phone_number.length()-4 <= i){
secretpn[i] = phone_number.toCharArray()[i];
answer += secretpn[i];
}
else {
secretpn[i] = '*';
answer += secretpn[i];
}
}
return answer;
}
}
10. 행렬의 덧셈
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = arr1;
for(int i=0 ; i<arr1.length ; i++){
for(int j=0 ; j<arr1[i].length ; j++){
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
12. 부족한 금액 계산하기
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = arr1;
for(int i=0 ; i<arr1.length ; i++){
for(int j=0 ; j<arr1[i].length ; j++){
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
//한줄매직..
class Solution {
public long solution(long price, long money, long count) {
return Math.max(price * (count * (count + 1) / 2) - money, 0);
}
}
13. 2016년
class Solution {
public String solution(int a, int b) {
String answer = "";
int[] month = {31,28,31,30,31,30,31,31,30,31,30,31};
String[] week = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
int days=0;
int year = 2016;
if(year%4==0){
month[1]=month[1]+1;
}
if( a<13 && b <32) {
for(int i=1 ; i<a ; i++){
days += month[i-1];
}
days += b-1;
answer = week[days%7];
}
return answer;
}
}
//JAVA 코드
class Solution {
public String solution(int a, int b) {
String answer = "";
int[] month = {31,28,31,30,31,30,31,31,30,31,30,31};
String[] week = {"FRI","SAT","SUN","MON","TUE","WED","THU"};
int days=0;
int year = 2016;
if(year%4==0){
month[1]=month[1]+1;
}
if( a<13 && b <32) {
for(int i=1 ; i<a ; i++){
days += month[i-1];
}
days += b-1;
answer = week[days%7];
}
return answer;
}
}
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
int month = 5;
int day = 24;
String result = sol.solution(month,day);
System.out.println(result);
}
}