백준 8

[알고리즘] A + B - 4 - 백준 10951번

https://www.acmicpc.net/problem/10951 while문을 이용한 반복되는 두개의 정수 합 구하기 **입력의 종료는 더이상 읽을 수 있는 데이터(EOF)가 없을 때 종료한다.** import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;import java.util.StringTokenizer; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Strin..

study/algorithm 2024.06.18

[알고리즘] A + B - 3 - 백준 10950번

https://www.acmicpc.net/problem/10950 for문을 이용한 반복되는 두개의 정수 합 구하기 **첫줄에 테스트 케이스 개수가 주어진다**  import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseIn..

study/algorithm 2024.06.18

[알고리즘] 별 찍기2 - 백준 2439번

https://www.acmicpc.net/problem/2439  이번문제는 별 찍기 1과는 다르게 공백이 1행에 4개, 2행에 3개...... 이런 식으로 흘러가는데즉 n번째 행에는 N-n개의 공백이 출력되고 별은 n번째 행에 n개가 출력 되어야 된다. 그러면 i가 행을 의미하니 N-i 의 값만큼 공백을 출력해주어야 하니 아래와 같이 작성할 수 있다.for ( int i = 1 ; i  또 각 행에 별의 개수는 i값만큼 출력해줘야 하니 for을 하나 더 추가해야 된다.for ( int i = 1 ; i 마지막으로 개행을 해주어야 하기 때문에 개행을 추가해 준다for ( int i = 1 ; i  위를 응용하여 문제를 풀 수 있다.import java.io.BufferedReader;import jav..

study/algorithm 2024.06.18

[알고리즘] 별 찍기1 - 백준 2438번

https://www.acmicpc.net/problem/2438 반복문의 가장 유명한 별 찍기 문제 기본적으로 알아야 할 것은 아래와 같다.먼저 N 이라는 숫자를 주어준다1행부터 N행까지 출력하기 위한 큰 틀의 반복문을 만들어준다.for ( int i = 1 ; i 행을 의미하는 i를 만들어 준 것이다. 이어서 for문 안에 for문을 넣어 이중 for문을 작성해 준다.for(int i = 1; i  내부 for문의 j는 i의 값만큼 반복해 준다. i는 행을 만들어주는 횟수를 j는 별을 찍는 개수를 만들어준다고 생각하면 된다.또 한 행의 출력이 모두 끝나면 개행을 해주어야 되니내부 for문이 종료될 때마다 개행을 해줄 수 있도록 해준다. for ( int i = 1 ; i  위와 같은 방식으로 별 찍기..

study/algorithm 2024.06.18

[알고리즘] 주사위 세개 - 백준 2480번

https://www.acmicpc.net/problem/2480 문제를 풀 때 중요한 건 세 개의 변수 비교를 잘 생각해야 된다. 먼저 3개의 변수가 모두 다른 경우부터 생각해 보자//주사위 숫자가 모두 다른 경우if(a!=b && b!=c && a!==c){}//한 쌍이라도 서로 같은 숫자가 있는 경우else{}그리고 문제에서모두 다른 눈이 나오는 경우에는 (그중 가장 큰 눈) X100원의 상금을 받게 된다고 쓰여있기 때문에3개의 다른 숫자 중에서 가장 큰 숫자를 찾아야 된다. a와 b에서 큰 숫자를 확인한 후 큰 숫자를 c랑 비교하면 된다.  //주사위 숫자가 모두 다른 경우if(a!=b && b!=c && a!==c){ int max;// a > b 인 경우 if(a > b){ //c > a..

study/algorithm 2024.06.17

[알고리즘] 오븐 시계 - 백준 2525번

https://www.acmicpc.net/problem/2525 h(시)와 m(분)을 하나의 분으로 변환한 뒤 a를 더하고 나온 결과 값을 다시 시와 분으로 변환하는 방법으로 풀이 먼저 h(시)와 m(분)을 하나의 분으로 변환하는 식min = h * 60 + m; // min = 60 * 시 + 분 하나의 분으로 변환 한 식에 요리하는데 걸리는 시간인 a를 더하는 식int min = 60 * h + m; // 현재 (분으로 변환된)min += a; // min = min + a; (요리완료 (분)) 요리하는 데 걸리는 시간 (분)을 구한 값을 다시 시와 분으로 나누어야 된다.int min = 60 * h + m; // 현재 (분으로 변환된)min += a; // min = min + a; (요리완료..

study/algorithm 2024.06.14

[알고리즘] 알람 시계 - 백준 2884번

https://www.acmicpc.net/problem/2884 45분 전의 시간을 구하면 되는 문제 입력받은 분을 45(m) 기준으로 45보다 작으면 시(h)를 -1 하고 45보다 크면 분(m)에 -45 하면 된다 시(h)가 0보다 작아질 경우 시(h)를 23으로 수정한다 + 분은 60분이니까 입력값이 45보다 작을 경우엔 (45-입력값) 만큼 60에서 빼주면 된다.* 60 - (45 - 입력값)  1 ) 45분보다 작은지 확인 : if ( m    2 - 1 ) 시(h)가 0보다 작은지 확인 : if (h 1 - 2 ) 1단계 조건 외 : else   import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOExc..

study/algorithm 2024.06.14

[알고리즘] 윤년 - 백준 2753번

https://www.acmicpc.net/problem/2753 윤년의 조건은 4의 배수는 윤년으로 1을 출력하지만 100의 배수일 때는 윤년이 아니어서 0을 출력한다.그러나 400의 배수일 경우에는 윤년으로 본다. 따라서 4의 배수인지 확인 후 4의 배수일 경우 400으로 나눠 떨어지는지, 100으로 나눠 떨어지는지를 확인해야 한다. 1 ) 4의 배수일 때 : if( year % 4 == 0 )     ** 4의 배수인 경우 내부 블록 실행    2 - 1 ) 4의 배수이면서 400의 배수일 때 : if( year & 400 == 0 )     ** 내부 ** 400의 배수 맞는지 확인 ( 1출력 )    2 - 2 ) 4의 배수이면서 100의 배수일 때 : else if ( year % 100 ==..

study/algorithm 2024.06.14