오랜만에 푸는 백준 문제라 감을 되살리는 시간을 가지기로 했다.
어떤 문제를 풀어볼지 생각하다가 해당 블로그 글을 보게 되었다.
코딩테스트 대비를 위한 백준 문제 추천 (tistory.com)
난이도별, 출제 유형별 알고리즘 문제들이 잘 정리되어 있어서 활용하기로 했다.
오늘 푼 문제는 총 4문제로 2501번 약수 구하기, 3460번 이진수, 10810번 최소최대, 2460번 지능형 기차2 였다.
첫 문제에서는 백준의 제출 형식, 오랜만에 쓰는 Scanner 클래스 이 두가지 이슈로 약간 버벅거렸다.
오늘은 코드를 간소화하기 보다는 일단 감을 좀 살리자는 취지로 진행된 문제풀이이기 때문에 조금 긴 코드가 나온듯 하다.
- 2501번 약수 구하기
String형을 받는데에는 next()가 아닌 nextLine()를 써야 하는걸 잊어서 시간이 조금 걸렸다.프로젝트 뿐만 아니라 Java도 정진해야겠다.public static void main(String[] args) { Scanner sc = new Scanner(System.in); String nk = sc.nextLine(); String[] spiltNK = nk.split(" "); int N = Integer.parseInt(spiltNK[0]); int K = Integer.parseInt(spiltNK[1]); for (int i = 1; i <= N/2; i++) { if(N % i == 0) { K--; if(K == 0) { System.out.println(i); System.exit(0); } } } if (K == 1) { System.out.println(N); } else { System.out.println(0); } }
- 3460번 이진수
이진수도 오랜만에 접하니 반가웠다.public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int[] num = new int[T]; for (int i = 0; i < T; i++) { num[i] = sc.nextInt(); } for (int i = 0; i < T; i++) { int one = 0; while (num[i] > 0) { if (num[i] % 2 == 1) { System.out.print(one + " "); } num[i] /= 2; one++; } System.out.println(); } }
- 10810번 최소최대
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); sc.nextLine(); String numString = sc.nextLine(); String[] numList = numString.split(" "); int min = 1000000; int max = -1000000; for (int i = 0; i < N; i++) { int num = Integer.parseInt(numList[i]); if (num < min) { min = num; } if (num > max) { max = num; } } System.out.println(min + " " + max); }
- 2460번 지능형 기차2
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int max = 0; int num = 0; for (int i = 0; i < 10; i++) { String input = sc.nextLine(); String[] inputList = input.split(" "); num -= Integer.parseInt(inputList[0]); num += Integer.parseInt(inputList[1]); if (num > max) { max = num; } } System.out.println(max); }
이렇게 총 4문제를 풀어보았다.
매우 쉬운 문제였으나 Java 문법을 얼마나 많이 까먹었는지 체크할 수 있었다.
알고리즘은 꾸준히 풀도록 하자.
'알고리즘 > 백준' 카테고리의 다른 글
1292번, 14888번 - 스택, 큐, 재귀 (0) | 2024.06.25 |
---|---|
2609번, 2693번 - hashSet, QuickSort (0) | 2024.06.25 |
1300번 - K번째 수 (0) | 2023.07.31 |
2110번 - 공유기 설치 (0) | 2023.07.31 |
1436번 - 영화감독 숌 (0) | 2023.07.29 |