📚 문제 입력 출력 예제 입력 5 5 1 1 4 1 2 2 3 2 4 3 4예제 출력 1 4 3 2 0🧑🏻💻 풀이 과정 입력받은 graph로 dfs를 호출하자. 방문한 v에 대해서는 visited[v]를 True로 변경하고, 방문 순서를 answer[v]에 저장하자. (visited[4] = 2, visited[3] = 3, visited[2] = 4) 방문 순서는 내림차순이므로, graph를 내림차순 정렬하자. graph[v]의 노드를 반복하며, 방문하지 않은 노드를 발견하면, cnt를 1 증가 시키고, 해당 노드를 재귀 호출하자. 재귀호출이 끝나면, answer에 저장된 값을 반복하면서 출력하자. import sys sys.setrecursionlimit(10 ** 8) def dfs(v): glo..
📚 문제 입력 출력 입력 예시 8 sbrus.txt spc.spc acm.icpc korea.icpc sample.txt hello.world sogang.spc example.txt출력 예시 icpc 2 spc 2 txt 3 world 1🧑🏻💻 풀이 과정 n만큼 반복하면서, 입력받은 문자에서 확장자명만 저장하자. 확장자명이 딕셔너리에 없으면 key=확장자명, value=0으로 초기화하고 +1, 있으면 그냥 +1 확장자명을 오름차순 정렬 후, 출력하자. def file_clean(n): ans = {} for _ in range(n): # 입력받은 문자에서 확장자만 저장하자. split_s = input().split(".")[1] # 확장자가 없으면 0으로 초기화한 후 1 더하고, 있으면 그냥 1 더..
📚 문제 입력 출력 제한 입력 예시 2 21 22 23 24 25 26출력 예시 1🧑🏻💻 풀이 과정 입력받은 energy를 오름차순 정렬하자. 정렬된 리스트의 n번째 요소부터 n+n-1번째까지 요소를 가져 오자. 가져온 리스트의 가장 큰 값에서 가장 작은 값을 빼주자. def calculate_young_energy(energy): # 에너지 오름차순 정렬 후, 중간 값 가져오자. # n = 2면 4까지 -> 2, 3, n = 3이면, 6까지 -> 3,4,5 sorted_energy = sorted(energy)[n:n + n] # 리스트에서 가장 큰 값 - 가장 작은 값 return max(sorted_energy) - min(sorted_energy) n = int(input()) arr = lis..
📚 문제 입력 8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문제, ... 8번 문제이다. 출력 첫째 줄에 참가자의 총점을 출력한다. 둘째 줄에는 어떤 문제가 최종 점수에 포함되는지를 공백으로 구분하여 출력한다. 출력은 문제 번호가 증가하는 순서이어야 한다. 입력 예시 1 20 30 50 48 33 66 0 64출력 예시 1 261 3 4 5 6 8입력 예시 2 20 0 50 80 77 110 56 48출력 예시 2 373 3 4 5 6 7입력 예시 3 20 30 50 80 110 11 0 85출력 예시 3 355 2 3 4 5 8🧑🏻💻 풀이 과정 입력..
📚 문제 입력 첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다 작거나 같은 정수이고, 공백으로 나누어져 있다. 출력 각 반에 대한 출력은 다음과 같이 두 줄로 이루어져 있다. 첫째 줄에는 "Class X"를 출력한다. X는 반의 번호이며 입력으로 주어진 순서대로 1부터 증가한다. 둘째 줄에는 가장 높은 점수, 낮은 점수, 성적을 내림차순으로 정렬했을 때 가장 큰 인접한 점수 차이를 예제 출력과 같은 형식으로 출력한다. 입력 예시 2 5 30 25 76 23 78 6 25 50 70 99 70 90출력 예시 Class 1 Max 78..
📚 문제 입력 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. 출력 첫 번째 줄에 스네이크버드의 최대 길이를 출력합니다. 입력 예시 1 3 10 10 11 13출력 예시 1 12입력 예시 2 9 1 9 5 8 1 3 2 7 6 4출력 예시 2 10🧑🏻💻 풀이 과정 과일의 높이를 오름차순 정렬하자 정렬된 과일의 높이가 주어진 길이보다 작거나 같다면 길이를 1 증가 시켜주자 N, L = map(int, input().split()) H = list(map(int, input().split())) H.sort() fo..
📚 문제 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 입력 예시 1 5 1 1 1 6 0 2 7 8 3 1출력 예시 1 18입력 예시 2 3 1 1 3 10 30 20출력 예시 2 80입력 예시 3 9 5 15 100 31 39 0 0 3 26 11 12 13 2 3 4 5 9 1출력 예시 3 528🧑🏻💻 풀이 과정 A 배열은 오름차순 정렬, B 배열은 내림차순으로 정렬해서 작은값 * 큰값 순으로 계산하자. N = int(input()) A = list(map(int,..
📚 문제 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 입력 예시 5 0 4 1 2 1 -1 2 2 3 3 출력 예시 1 -1 1 2 2 2 3 3 0 4 🧑🏻💻 풀이 과정 sorted를 이용하여 y를 우선 정렬 후, x를 정렬하자 n = int(input()) datas = [list(map(int, input().split())) for _ in range(n)] # y 좌표를 기준으로 오름차순 정렬 # y 좌표가 같다면 x 좌표를 기준으로 ..
- Total
- Today
- Yesterday
- Real MySQL
- 노마드코더
- 북클럽
- 백준
- 스프링부트
- 데이터베이스
- kotlin
- 인프런
- 릿코드
- 스프링 부트
- 코테
- 구현
- mysql 8.0
- 정렬
- 스프링
- Spring
- MySQL
- webflux
- spring boot
- 자료구조
- 리팩토링
- 문자열
- 알고리즘
- 그리디
- 파이썬
- Algorithm
- 코틀린
- 노마드
- leetcode
- 김영한
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |