![[백준] 2480 - 주사위 세 개](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsrzR3%2FbtsyDv62U2t%2FM7y2QenFLSGmzUiiWuOd5k%2Fimg.png)
• 문제 이해하면 어렵지않은 문제이지만, 처음 코드를 본다면 난해한 문제입니다. 코드가 복잡해보인다고해서 포기하지않고 끝까지 풀어봐주세요 ! • 풀이 먼저 주사위 A, B, C의 값을 각각 입력받습니다. 그리고 상금을 계산하기위한 정수타입변수 result를 선언해주도록 하겠습니다. 문제를 풀기위해 생각해야하는 경우의 수는 3가지입니다. 1. A,B,C가 모두 같은경우 2. A,B,C가 모두 다른경우 3. A,B,C중 두 개만 같은경우 1,2의 경우에는 식으로 표현하면 아주 쉽게 표현할 수 있습니다. A,B,C가 모두 같은경우는 A == B && B == C, A,B,C가 모두 다른경우는 A != B && B != C && A != C 와같이 식으로 표현할 수 있습니다. A,B,C중 두 개만 같은경우는 e..
![[백준] 2525 - 오븐 시계](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1xDms%2FbtsyuLXeAkc%2FfUKyOH8657LrMvn6oNQ300%2Fimg.png)
• 문제 이전 알람시계에 이어서 시계 시리즈이다. 알람시계 문제에서도 0에서 23으로 넘어가는 부분을 주의해야 했듯이 이 문제에서는 반대로 24에서 25로 넘어갈 때 0부터 다시 시작한다는 점을 주의해야한다. • 풀이 알람시계 문제에서는 시간에 대해 뺄셈을 하는 문제였다면 이번에는 덧셈을 하는 문제이다. 문제풀이에 앞서서 문제에서는 입력값의 변수를 A,B,C라고 칭하였지만 문제를 설명할 때는 A를 H(시) B를 M(분) C를 cookTime(요리시간)이라고 설명하겠다. 예시를 들어 이해해보자 만약 H가 1, M은 40, cookTime은 90을 받았다고 가정해보자 이 때 먼저 M + cookTime값을 구해주면 130의 값을 구할 수 있다. 여기서 60분은 1시간으로 바뀌므로 130 / 60을 하면 2가..
![[백준] 2884 - 알람 시계](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6Pwc7%2FbtsyBjsaO6E%2FHIVcd4KKk9TQcw8o4KSwvk%2Fimg.png)
• 문제 알람 시계를 맞추되, 45분 앞당겨서 알람을 설정하는 문제이다. 시간은 00:00 ~ 24:00 표기법을 사용하며 주의할 점은 문제의 예제입력 2와같이 0:30을 입력했을 때 23:45으로 출력되는 부분이다. • 풀이 먼저 단순하게 생각하여 문제에 요구되는 조건을 조건식으로 표현해서 풀자면, 문제를 풀기위해 생각해야하는 경우의 수는 3가지가 있다. 1. M이 45보다 크거나 같을 때 2. M이 45보다 작을 때 3. H가 0으로 입력되고 M이 45보다 작을 때 1의 경우에는 가장 간단하다 H는 가만히 냅두고 M만 45만큼 빼주면된다. 2의 경우에는 M이 45보다 작으므로 H의 값을 1빼고나서 M의 값을 계산해주어야한다. 3의 경우에는 00:00시에서 1시간만큼빼면 23시이므로 H가 0이면 H를 ..
![[백준] 14681 - 사분면 고르기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fzr2Mu%2FbtsyDNMW4TA%2Fpfr8xlN5tAK1XJU7a4G151%2Fimg.png)
• 문제 정수x,y값을 입력받아서 해당 값에 맞는 사분면을 출력해주는 프로그램이다 • 풀이 x:양수, y:양수일 경우 1 x:음수, y:양수일 경우 2 x:음수, y:음수일 경우 3 x:양수, y:음수일 경우 4 출력하는 프로그램이다. if, else if문을 사용하여 출력 해볼 것이다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); if(0 y)System.out.print(3); //3사분면 else if(0 y)System.out.print(4); ..
![[백준] 2753 - 윤년](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcehi52%2FbtsytdzeDqp%2FCqKXI3rtN5Vq63shjtASg1%2Fimg.png)
• 문제 입력된 연도가 윤년이면 1, 윤년이 아니면 0을 출력하는 프로그램 문제이다. • 풀이 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 이 문장을 if문을 사용하여 조건식으로 구현만 해주면 된다. 문장 하나하나씩 식으로 만들어보자 ! 먼저 연도가 4의 배수라는 문장은 year % 4 == 0이 된다. 4의 배수는 4로 나눴을때 나머지가 0이 되기때문이다. 두번째 문장인 연도가 100의 배수가 아닐 때는 year % 100 != 0으로 식을 세울수 있다. 마지막 문장인 400의 배수일 때는 첫번째문장과 같이 year % 400 == 0이 된다. 위 세가지의 문장을 조건식으로 알맞게 연결해주기만 하면된다. 논리연산자를 사용할 때는 '이고', '이면서'로 문장을 ..
![[백준] 9498 - 시험성적](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG58Km%2FbtsyuJw4wB1%2FG4FkKEHKpkHmR9RbMhWnR1%2Fimg.png)
• 문제 0~100점사이의 시험점수를 입력받아 점수에 해당하는 등급을 출력하는 프로그램이다. • 풀이 입력 값이 90 ~ 100이면 A 80 ~ 89이면 B 70 ~ 79이면 C 60 ~ 69이면 D 그 외의 값은 F로 if, ifelse문을 구현해준다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int score = sc.nextInt(); if(score>=90) System.out.println("A"); else if(score>=80) System.out.println("B"); else if(score>=70) Sys..
![[백준] 1330 - 두 수 비교하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsvRFL%2FbtsyubUStC1%2FSJHeru4uU13TKBUmP9a6Q0%2Fimg.png)
• 문제 이제 입출력과 사칙연산단계를 마무리하고 조건문 단계로 넘어왔다. 조건문과 반복문이야말로 알고리즘의 기초라고할 수 있으므로 천천히 꼼꼼하게 확실히 알고 넘어가자. A,B의 값을 입력받아 값의 비교를 부등호 표시로 출력하는 프로그램 문제이다. • 풀이 문제에서 A를 기준으로 부등호 표시할 것을 요구하기때문에 A > B 이면 >, A "); } } •마무리 조건문을 배워볼 수 있었다.
![[백준] 11382 - 꼬마 정민](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmwL1o%2FbtsyudkBEyo%2FNWMFSlnebMGqmyt7s4KgU1%2Fimg.png)
• 문제 3개의 값 A,B,C를 공백으로 구분하여 각 값을 덧셈하여 출력한다. • 풀이 Scanner클래스를 생성하여 A,B,C의 값을 입력받고 각 값의 더한값을 print()메서드로 출력해주기만 하면된다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); int C = sc.nextInt(); System.out.println(A+B+C); } } 하지만 생각했던 것과는 다르게 위 코드로 제출하면 아래와 같이 런타임 에러라고 나온다. 문제를 다시 살펴보니 ..