공부하기/백준 500

[Java] 백준 풀기 10171 - 고양이

자바 백준 10171번 브론즈 5 https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 자바에서 역슬래시 " \ " 는 이스케이프 문자로 사용되므로, 출력할 때 두 번을 입력해야 원래 문자로 인식된다. 코드 보기 public class Main { public static void main(String args[]) { System.out.println("\\ /\\"); System.out.println(" ) ( ')"); System.out.println("( / )"); System.out.print(" \\(__)|"); } } /* \ /\ ) ( ') ( ..

공부하기/백준 2023.05.29

[Java] 백준 풀기 2839 - 설탕 배달

자바 백준 2839번 실버 4 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 보기 분류: 수학, 다이나믹 프로그래밍, 그리디 알고리즘 문제 풀기 설탕 봉지의 개수를 가장 적게 하기 위해서는 5kg 의 개수가 가능한 최대여야 한다. 따라서 주어진 무게에서 5kg 을 나눈 몫을 최대로 두고 5kg 의 봉지를 하나씩 제거하면서 그 남의 무게가 3kg 으로 나누어 떨어지는지 확인한다. 그렇게 나누어떨어지는 시점이 최소 봉지 개수의 반환이며, 남은 무게가 ..

공부하기/백준 2023.05.28

[Java] 백준 풀기 11478 - 서로 다른 부분 문자열의 개수

자바 백준 11478번 실버 3 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 문제 보기 분류: 자료 구조, 문자열, 해시를 사용한 집학과 맵, 트리를 사용한 집합과 맵 문제 풀기 입력 받은 문자의 길이를 length() 로 확인하여 저장한다. 서로 다른 부분 문자열을 저장할 HashSet 을 생성한다. 이중 for loop 을 통해 문자열의 처음과 끝을 지정하여 substring() 으로 모든 경우에 대해 분리한다. 이 분리한 문자열을 HashSet() 으로 생성한 mySet 에 추가한다. HashSet 특성..

공부하기/백준 2023.05.27

[Java] 백준 풀기 20291 - 파일 정리

자바 백준 20291번 실버 3 https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 문제 보기 분류: 자료 구조, 문자열, 정렬, 해시를 사용한 집학과 맵, 파싱 문제 풀기 Array 를 사용할 수 있지만 ArrayList 를 사용해 보고 싶어서 방향을 이쪽으로 잡았다. 해시맵을 사용하지 않아 조건문이 지저분한 경향이 있는데 이번엔 머리에서 떠오르는 대로 답안을 제출하고 해시맵 사용은 다음으로 넘긴다. n 개 만큼 파일 이름을 입력 받으면서 확장자만 분리..

공부하기/백준 2023.05.26

[Java] 백준 풀기 17450 - 과자 사기

자바 백준 17450번 브론즈 3 https://www.acmicpc.net/problem/17450 17450번: 과자 사기 입력은 총 3개의 줄로 이루어지며, 각 줄에는 S, N, U의 순서대로 한 봉지의 가격과 무게가 띄어쓰기를 사이에 두고 주어진다. 모든 입력값은 1 이상 1,000 이하의 정수이다. 세 종류의 과자의 가성 www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산 문제 풀기 최고의 가성비를 저장할 변수와 그 과자의 이름을 저장할 변수를 준비한다. 3 개의 과자가 준비되어 있기에 3 번의 for loop 을 돌리면서 가격과 무게를 입력 받는다. 5000 원이 넘어가는 경우 500 원 할인을 생각하여 조건문을 분기시키고 해당 과자의 가성비를 계산한다. 계산된 가성비가 최대..

공부하기/백준 2023.05.25

[Java] 백준 풀기 14761 - 스시

자바 백준 20494번 브론즈 2 https://www.acmicpc.net/problem/20494 20494번: 스시 천하제일코딩대회를 마치고 $N$명의 운영진은 회전 초밥집으로 회식을 가서 스시를 먹기로 했다. 이 식당에는 총 26가지의 스시가 있으며, 이는 문자 A부터 Z까지에 대응하여 생각할 수 있다. 회 www.acmicpc.net 문제 보기 분류: 수학, 구현, 문자열, 애드 혹 문제 풀기 n 번째 줄까지 각각의 문자열 길이를 구한 후 모두 합산한 결과를 출력한다. 코드 보기 import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in)..

공부하기/백준 2023.05.23

[Java] 백준 풀기 2774 - 아름다운 수

자바 백준 2774번 브론즈 2 https://www.acmicpc.net/problem/2774 2774번: 아름다운 수 윤정이는 뭐든지 아름다운 것이 좋다고 생각한다. 그래서 윤정이는 사물을 볼 때 자신이 정한 방법으로 아름다운 정도를 평가한다. 윤정이는 수를 볼 때도 이런 아름다운 수의 정도를 따지는데, www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 테스트 케이스 만큼 반복문을 실행시키고 숫자를 입력받는다. 입력 받는 숫자는 String 으로 받고 하나씩 분리하여 array 에 저장한다. String 으로 저장된 숫자는 하나씩 꺼내어 Integer.parseInt() 를 통해 Int 타입으로 변경하고 decArr 에 index 로 사용하여 숫자 1 로 표시한다. 즉, 숫자가 있다면 ..

공부하기/백준 2023.05.22

[Java] 백준 풀기 6750 - Rotating letters

자바 백준 6750번 브론즈 3 https://www.acmicpc.net/problem/6750 6750번: Rotating letters An artist wants to construct a sign whose letters will rotate freely in the breeze. In order to do this, she must only use letters that are not changed by rotation of 180 degrees: I, O, S, H, Z, X, and N. Write a program that reads a word and determines wh www.acmicpc.net 문제 보기 분류: 구현, 문자열 문제 풀기 주어진 문자열을 array 에 나누어 저..

공부하기/백준 2023.05.15

[Java] 백준 풀기 10871 - X보다 작은 수

자바 백준 10871번 브론즈 5 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 주어진 n 만큼 반복문을 실행하면서 숫자를 입력 받는다. 그 입력 받은 숫자가 x 보다 작을 경우 그 숫자와 빈칸 하나를 같이 출력한다. 코드 보기 import java.util.Scanner; public class Main { public static void main(String args[]) { Scanne..

공부하기/백준 2023.05.15