백준

java/백준 알고리즘

[백준 알고리즘 / 1차원배열] 2562번 : 최댓값 - JAVA

💡문제 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 💡정답 ㅁㄴㅇ 💡문제접근방법 1.9개의 서로 다른 값이 나올 수 있게 변수 N을 만든다. 2.for문과 if문을 활용하여 최댓값을 구한다. 3.최댓값이 배열의 몇번째 순서에 있는지 구한다. 💡내가 문제를 못 푼 이유 : 문제접근 방법 3번에서 고민이 많았다. 2번까지 최댓값을 구하는 건 비교적 쉬웠지만, 도저히 최댓값이 몇번쨰에 있는지 확인할 수 있는 코드를..

java/백준 알고리즘

[백준 알고리즘 / 1차원배열] 3052번 : 나머지 - JAVA

💡문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 💡정답 import java.util.Arrays; import java.util.Scanner; public class no3052 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int M ; int[] arr = new int[10]; int count = 0; // 수를 입력함과 동시에 나머지를 구해 배열 arr에 넣는다. for(int i=0; i

java/백준 알고리즘

[백준 알고리즘 / 1차원배열] 5597번 : 과제 안 내신분...? - JAVA

💡문제 https://www.acmicpc.net/problem/5597 💡정답 import java.util.Scanner; public class no5597 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean stuChk[] = new boolean[31]; //학생 30명의 출석명부를 만든다. //과제를 제출한 28명의 번호를 true로 설정한다. for(int i=0; i

java/백준 알고리즘

[백준알고리즘/배열] 10807번 : 개수 세기 - JAVA

💡문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 💡문제 접근방법 두 수를 비교하는 문젠데, 하나의 수는 여러개의 수로 구성됐다. 자바에서는 여러 수 담을 수 있는 '배열'이라는 기능을 가지고 있다. 이 문제를 해결하기위해선 배열을 사용한다는 아이디어를 생각해내야한다. 이걸 생각해내면 배열을 통해 값을 넣고 배열에 담긴 값과 제시된 값을 비교하여 배열안의 몇 개의 수가 주어진 값과 같은지 찾아내는 간단한 문제가 된다.(문제 해..

java/백준 알고리즘

[백준알고리즘/조건문] 2525번 : 오븐시계 - JAVA

💡문제 접근 방법 A(시)와 B(분)을 하나의 분으로 변환한 뒤, C(분)을 더한 값을 다시 시(Hour)과 분(Minute)로 변환하는 전략을 선택한다. 먼저 입력 받은 A(Hour)와 B(Minute)을 하나의 변환한다. int min = 60 * A + B; // 주어진 시간을 '분'으로 변환 그 다음으로 요리하는 데에 걸리는 시간인 C(Minute)를 더한다. min = min + C; // 요리하는데 걸린 시간을 더한다 주어진 시간과 요리하는 데에 걸리는 시간을 분(Minute)으로 변환하는 작업은 끝이 났다. 다음으로는 시(Hour)와 분(Minute)으로 변환하는 작업을 해야한다. 시(Hour)를 구하기 위해선 분(Minute)을 60으로 나눈다. 예를 들어 Minute이 120이라면 시(H..

java/백준 알고리즘

[백준 알고리즘/조건문] 2884번. 알람시계

💡문제 접근 방법 입력받은 Hour과 Minute에서 45분전의 시간을 구하면 문제는 해결된다. '45분'의 기준이 중요하다. 45분을 기준으로 ①45보다 작으면 Hour을 -1 해준다. ②45분 보다 큰 경우에는 입력받은 Minute에서 -45를하면 45분 전의 시간이 구해진다. 또한 ③Hour가 0보다 작은 경우에는 Hour을 23으로 수정한다. ②를 제외한 경우에서는 Hour을 구했지만, Minute을 구하지 못했다. Minute은 45분 보다 클경우 Minute-45를 하면 되지만 45분 보다 적을 경우에는 이야기가 달라진다. Minute은 60분이니 입력값이 45분 보다 적은경우 (45-입력값)의 차이만큼 60에서 뺴준다. 즉 '60-(45-입력값)'이 된다. ①만약 18:20에서 45분 전의 ..

java/백준 알고리즘

[백준 알고리즘/조건문] 2439번 별 찍기 -2

💡문제 접근 방법 ①1행부터 N행까지 출력하기 위한 가장 큰 틀인 반복문을 만든다. ②공백은 1행에 4개, 2행에 3개, 3행엔 2개 ... 로 출력된다. 즉 i번째 행에서는 N-i의 공백이 출력된다. ③별은 i번째 행에서 i개가 출력된다. ④이중 for문에 안에 두 개의 for문을 쓴다. 💡정답 import java.util.Scanner; public class no2439 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); sc.close(); for(int i = 1; i < N; i++) { // 공백 for(int j = 1; j

java/백준 알고리즘

[백준 알고리즘/조건문] 25304번 영수증

💡문제 접근 방법 영수증에 적힌 금액과 내가 지불한 금액의 값이 같아야한다. 같은 걸 알기 위해선 둘의 값을 알아야한다. 즉 두 값 모두 입력받아 비교하는 문법을 사용한다. 두 값을 입력받기 위해 Scanner 클래스를 사용하고 두 값을 비교하여 다른 결과 값을 나타내기 위해 if-else문을 그리고 상품의 각 종류별 값과 갯수를 파악해 합을 구하기 위해 반복문인 for문을 사용한다. 💡정답 import java.util.Scanner; public class no25304 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int X = sc.nextInt(); // 영수증에 적힌 총 금액 int Y = sc.n..

각시탈코더
'백준' 태그의 글 목록