Dev Hyeri

백준 브론즈 12

[백준] 27866 문자와 문자열 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/27866 1. 요구 사항 이해시간, 메모리 제한 : 1초 / 512MB단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성S의 길이 최대 10001     2. 설계/검증 시간 복잡도 최악의 경우 공간 복잡도O(N)-O(N)    3. 정상 코드import java.util.Scanner;public class 문자열_문자와문자열 { // 단어 S와 정수 i가 주어졌을 때, S의 i번째 글자를 출력하는 프로그램을 작성하시오 public static void main(String[] args) { // 입력을 위한 객체 생성 Scanner scan = new Scanner..

[백준](2024) 나이순 정렬 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10814 난이도 알고리즘 실버5 정렬 1. 요구 사항 이해 시간, 메모리 제한 : 3초 / 256MB 가입한 순서대로 주어진 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 순으로 정렬하여 출력한다. * 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수 * 이름 알파벳 대소문자 길이가 100보다 작거나 같은 문자열 2. 설계/검증 입력 - N 회원 수 - 나이 - 이름 설계 - 나이가 같을 때 인덱스가 큰 게 먼저 정렬. - 나이 이름 인덱스를 클래스로 다룬다. 출력 -나이순 - 나이가 같으면 먼저 가입한 사람이 시간 복잡도 최악의 경우 공간 복잡도 O(N log N) 1,663,648 O(N * 100) 3...

[백준](2024)단어 정렬(설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/1181 난이도 알고리즘 실버5 문자열, 정렬 1. 요구 사항 이해 시간, 메모리 제한 : 2초 / 256MB 알파벳 소문자로 이루어진 단어 N개, 길이가 같으면 사전 순으로, 길이가 다르면 길이순으로 정렬 *중복 단어 distinct * (1 ≤ N ≤ 20,000) * 단어 : 문자열의 길이는 50을 넘지 않는다. 2. 설계/검증 입력 -N -words 설계 정렬 - Comparator이용 출력 - 정렬 후 이전 값과 같으면 출력 안 함. (중복된 값) 시간 복잡도 최악의 경우 공간 복잡도 O(N * M * log N) 3,000,000 O(N * M) 3. 정상 코드 import java.util.*; public class M..

[백준](2024) 행운의 바퀴 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/2840 난이도 알고리즘 실버4 구현, 시뮬레이션 1. 요구 사항 이해 시간, 메모리 제한 : 1초 / 128MB 돌린 횟수와 회전을 멈추었을 때 가리키던 글자를 통해 바퀴에 적힌 알파벳을 출력하라. 2. 설계/검증 입력 - N : 칸수 (2 ≤ N ≤ 25) - K : 반복 횟수 ( 1 ≤ K ≤ 100) - S : 이동 횟수 - A: 이동 완료 후 할당 값 설계 행운의 바퀴 칸에 글자가 있는 상태 반복하며 1*N 배열에 값 입력 - 인덱스에 S%N 더한 값이 N보다 작으면 그냥 더한 값을 다음 인덱스로 하고 - 인덱스에 S%N 더한 값이 N보다 크면 그 값에 -N -1한 값을 다음 인덱스로 한다. 행운의 바퀴 결정못함 vs 없음 ..

[백준](2024)ACM 호텔(설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10250 난이도 알고리즘 브론즈3 수학, 구현, 사칙연산 1. 요구 사항 이해 시간, 메모리 제한 : 1초 / 256 MB 호텔의 형태와 배정 정책에 따라 N번째 손님에게 배정되어야 하는 방 번호를 출력하라. 2. 설계/검증 층수, 방 번호 - 몇 번째 손님인지와 H와 관련이 있음 시간 복잡도 최악의 경우 공간 복잡도 O(T * H * W) 9801 O(1) 3. 정상 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { // Scanner 객체 생성 Scanner scan = new Scanner(System.in); // ..

[백준](2024) 진법 변환 2 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/11005 난이도 알고리즘 브론즈1 수학, 구현 1. 요구 사항 이해 시간, 메모리 제한 : 0.5초 / 256MB 주어진 10진법 수 N을 B진법으로 출력하라. (2 ≤ B ≤ 36) *N은 10억보다 작거나 같은 자연수 2. 설계/검증 입력 - N : 10진법 자연수 - B : 변환할 진법 설계 : 진법으로 나누기에서 목과 나머지 - 나머지 10 미만 - 나머지 10 이상 : 알파벳 사용 A는 10~ Z는 35 시간 복잡도 최악의 경우 공간 복잡도 O(log(N)) 18.42 O(1) 3. 정상 코드 import java.util.Scanner; public class Main { public static void main(Str..

[백준](2024) 소금 폭탄 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/13223 난이도 알고리즘 브론즈3 수학, 구현, 사칙연산 1. 요구 사항 이해 시간, 메모리 제한 : 2초 / 512MB 현재 시각으로부터 동작 시각까지의 인터벌을 구하시오 현재 시각 hh:mm:ss 포맷 (0 ≤ h ≤ 23), (0 ≤ m ≤ 59) , (0 ≤ s ≤ 59) 소금 투하 시각 hh:mm:ss 두 시각의 차이 (1초 ≤ interval ≤ 24시간) 2. 설계/검증 입력 입력받은 시각을 파싱 - split() 사용 입력받은 시간 차이 계산 음수 보정 시, 분, 초 변수를 출력 hh:mm:ss 포맷 형태로 출력 - System.out.printf("%02d:%02d:%02d", hh, mm, ss) 시간 복잡도 최악..

[백준](2024) 단어 공부 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/1157 난이도 알고리즘 브론즈1 구현, 문자열 1. 요구 사항 이해 시간, 메모리 제한 : 2초 / 128MB 대소문자가 섞인 단어에서 가장 많이 사용된 알파벳 식별 후 대문자로 출력 단어의 길이는 1,000,000 넘지 않음 빈도수가 가장 높은 알파벳이 여러개인 경우 '?' 출력 2. 설계/검증 소문자와 대문자는 같은 알파벳인 경우 하나로 처리 - toUpperCase() 로 전부 대문자 처리 가장 빈도 높은 알파벳과 그 빈도 수를 저장할 변수 시간 복잡도 최악의 경우 공간 복잡도 O(N) 1,000,000 O(1) 함수화 String word; private static void findMostFrequentAlphabet(w)..