코딩테스트 준비 5

[Java] 파일 정리

파일 정리 문제 살펴보기 문제 요약 파일을 확장자 별로 정리해서 개수를 정리합니다. 이것을 확장자 기준 사전 순으로 오름차순 정렬하여 출력합니다. 확장자는 . 을 사용하므로 그걸 쪼개서 이름과 개수(빈도)를 알파벳 순서대로 출력하면 되는 문제입니다. 전략 기존에 잘 알려진 HashMap을 사용해볼 수 있습니다. 다만 알파벳 순서대로 차후에 sort 작업을 수행해야 합니다. 새롭게 등장한 TreeMap 을 사용해본다. 자동으로 알파벳 순서대로 정렬해주므로 편리합니다. 공통 사항 Java로 백준에 제출할 때에는 Main 으로 클래스 이름을 지정해야 합니다. 입력은 Scanner 객체 sc로 받습니다. 숫자와 문자가 동시에 입력받아야 한다면, 두가지 전략이 있습니다. 숫자는 sc.nextInt() 로 받고, ..

[Java] 럭키 스트레이트

Java로 풀어보는 간단한 백준 문제 풀이 18406번 럭키 스트레이트 문제입니다. 문제 요약 N이라는 점수가 주어질 때, 반으로 나눈 첫번째 자릿수의 합과 나머지 자릿수의 합이 동일해야 합니다. 여기서 저는 N이라는 숫자를 받아서, 첫번째 요소와 두번째 요소로 나누어보고자 했습니다. 그러기 위해서 문자열로 변환하고 반으로 나누어 각각의 배열 요소의 합을 구하는 것을 떠올렸습니다. 점수 N이 주어지고, 이를 반으로 쪼개어 첫번째 요소의 자릿수 합과 두번째 요소 자릿수 합이 일치하면 “LUCKY”, 아니면 “READY” 출력한다. 코드로 살펴보기. 백준에서 코드를 입력할 때, Java의 경우에는 Scanner 패키지를 사용해서 입력값을 받도록 만들어줘야 합니다. 1. 먼저 해당 점수를 Scanner로 입력..

[Java] 서울에서 김서방 찾기

김서방은 x에 있다를 찾습니다. 이 문제는 다시 해석해보면, seul이라는 String 배열에서 "Kim"이라는 성분의 위치(인덱스)값을 찾으면 되는 간단한 문제입니다. class Solution { public String solution(String[] seoul) { String answer = ""; for(int i = 0 ; i < seoul.length ; i++){ if(seoul[i].equals("Kim")){ answer = "김서방은 " + i + "에 있다"; } } return answer; } } 그래서 저는 for문을 활용해서 seoul 배열의 성분의 수만큼 반복해서 성분 중에 "Kim"이 있는 경우의 인덱스 값을 answer에 넣어 반환시켰습니다. 문자열을 반환해야 하므로,..