Dev Hyeri

전체 480

[백준] ✔️1546 평균 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/1546    1. 요구 사항 이해시간, 메모리 제한 : 2초 / 128 MB 점수 중 최댓값 M을 기준으로 모든 점수를 점수/M*100으로 변환한다.변환된 점수들의 새로운 평균을 계산한다.입력 첫 줄: 시험 본 과목의 개수 N (N ≤ 1000)입력 둘째 줄: 세준이의 현재 성적 (각각 0 ≤ 점수 ≤ 100)변환된 점수들의 새로운 평균을 소수점 둘째 자리까지 출력한다.   2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(N) O(N) 최댓값을 찾기 위해 배열을 한 번 순회 O(N), 점수를 조작하고 합을 계산하기 위해 배열을 한 번 더 순회 O(N).시간 복잡도는 O(N) scores 배열을 사용하므로 공간 복잡도는..

[백준] ✔️10811 바구니 뒤집기 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10811   1. 요구 사항 이해시간, 메모리 제한 : 1초 / 256  MB N개의 바구니가 1부터 N까지 번호가 매겨져 순서대로 일렬로 놓여있다.M번에 걸쳐 주어진 범위의 바구니 순서를 역순으로 변경한다.첫 줄에 바구니 개수 N (1 ≤ N ≤ 100)과 연산 횟수 M (1 ≤ M ≤ 100).다음 M개의 줄에 i, j (1 ≤ i ≤ j ≤ N)가 주어짐. i번째부터 j번째 바구니 순서를 역순으로 변경.모든 연산을 완료한 후, 바구니 번호를 왼쪽부터 순서대로 출력.  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O( N + MN ) O(N) 배열 초기화는 N개의 바구니에 대해 1부터 N까지 숫자를 할당하므로 O(..

[백준] ✔️3052 나머지 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/3052  1. 요구 사항 이해시간, 메모리 제한 : 1초 / 128  MB 입력받은  10개의 수를 42로 나눈 나머지가 총 몇 개인지 구하는 프로그램 작성 숫자는 1,000보다 작거나 같고, 음이 아닌 정수  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(1) O(1)    3. 정상 코드 - 배열 풀이 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 입력 받은 자연수 저장할 배열 int[] n..

[백준] ✔️5597 과제 안 내신 분..? (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/5597   1. 요구 사항 이해시간, 메모리 제한 : 1초 / 128  MB 특별과제를 30명 중 28명이 제출했습니다. 제출하지 않은 2명의 출석번호를 구하는 프로그램을 작성.학생번호 n : 1 ≤ n ≤ 30, 중복 없음  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(1) O(1)     3. 정상 코드import java.util.Scanner;public class Main { public static void main(String[] args) { // 입력을 위한 객체 생성 Scanner scan = new Scanner(System.in); // 학생 30명에..

[백준] 10813 공 바꾸기 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10813    1. 요구 사항 이해시간, 메모리 제한 : 1초 / 256 MB N개의 바구니에 1부터 N까지 번호가 적힌 공을 넣고, M번의 교환 작업을 통해 바구니에 들어있는 공의 최종 상태를 출력하는 프로그램 작성.  - 1 ≤ N ≤ 100- 1 ≤ M ≤ 100- i번 바구니와 j번 바구니에 들어있는 공을 교환  1 ≤ i ≤ j ≤ N  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(1) O(N) 배열 초기화: 배열 baskets를 초기화하는데 O(N) 시간이 걸립니다. 공 교환 작업: M개의 교환 작업 각각에 대해 O(1) 시간 복잡도가 필요하므로 총 O(M) 시간이 걸립니다. 전체 시간 복잡도는 O(N)..

[백준] 10810 공 넣기 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10810 1. 요구 사항 이해시간, 메모리 제한 : 1초 / 256 MB 바구니와 공: 총 N개의 바구니가 있고, 각 바구니에는 1부터 N까지의 번호가 있습니다. 모든 바구니는 처음에는 비어 있습니다. 1부터 N까지 번호가 적힌 공을 사용할 수 있습니다.공을 넣는 작업: M번의 작업이 주어지며, 각 작업은 다음과 같은 형식입니다:i j k: i번 바구니부터 j번 바구니까지 공의 번호가 k인 공을 넣습니다.바구니에는 한 번에 하나의 공만 넣을 수 있으며, 공이 이미 있는 바구니에 새로운 공을 넣으면 기존의 공이 사라집니다.출력: 모든 바구니에 현재 들어있는 공의 번호를 공백으로 구분하여 출력합니다. 공이 들어있지 않은 바구니는 0을 ..

[백준] 2562 최댓값(설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/2562  1. 요구 사항 이해시간, 메모리 제한 : 1초 / 128MB 9개의 중복 없는 자연수 중 최댓값을 찾고 몇 번째 수인지 구하는 프로그램자연수는 100 보다 작다  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(1) O(1) 입력 받기: O(1) (상수 시간, 9개의 입력), 최댓값 찾기: O(9) (상수 시간, 9개의 요소 순회) 시간 복잡도는 O(1) 배열 크기: O(9), 추가 변수: O(1) (max와 maxIndex) 공간 복잡도는 O(1)      3. 정상 코드import java.util.Scanner;public class Main { public static void main(Stri..

[백준] 10818 최소, 최대 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10818   난이도알고리즘  브론즈3수학, 구현  1. 요구 사항 이해시간, 메모리 제한 : 1초 / 256MB주어진 정수 중 최댓값과 최솟값을 찾는 프로그램 작성   2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(N) O(N) 입력 처리: 첫 번째 줄에서 정수 N을 입력받고, 두 번째 줄에서 N개의 정수를 입력받습니다.입력받는 과정은 각 입력마다 O(1)의 시간이 소요되므로, N개의 정수를 입력받는 데 O(N)의 시간이 걸립니다.최솟값과 최댓값 찾기: 배열을 한 번 순회하면서 각 요소를 비교합니다. 이 과정은 O(N)의 시간이 걸립니다.O(N)+O(N)=O(N)  시간 복잡도는 O(n) 배열: 정수 N개의 입력을 ..

[백준] 10871 X보다 작은 수 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10871  1. 요구 사항 이해시간, 메모리 제한 : 1초 / 256 MB 배열 내에 특정 정수가 몇 개 존재하는지 세는 프로그램 작성  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(N) O(N)     3. 정상 코드import java.util.Scanner;public class Main { public static void main(String[] args) { // 입력을 위한 객체 생성 Scanner scan = new Scanner(System.in); // 첫째줄에 입력 받는 N과 X int N = scan.nextInt(); int..

[백준] 10807 개수 세기 (설명/코드/정답)

문제 링크 : https://www.acmicpc.net/problem/10807  1. 요구 사항 이해시간, 메모리 제한 : 1초 / 256 MB 정수 N개가 주어졌을 때 찾고자 하는 정수는 몇 번 출현하는지 세는 프로그램 작성  2. 설계/검증  복잡도시간 복잡도 최악의 경우 공간 복잡도O(N) O(N)  3. 정상 코드import java.util.Scanner;public class Main { public static void main(String[] args) { // 입력을 위한 객체 생성 Scanner scan = new Scanner(System.in); // 정수의 개수 N 입력 int N = scan.nextInt(); ..