📚 문제 입력 출력 예제 입력 5 Mickey 1 10 1991 Alice 30 12 1990 Tom 15 8 1993 Jerry 18 9 1990 Garfield 20 9 1990예제 출력 Tom Jerry🧑🏻💻 풀이 과정 이름, 일자, 월. 년을 입력받아, 일자나 월이 한 자리라면 앞에 0을 추가해서 두 자리로 만든 뒤 arr에 추가하자. arr의 생년월일을 기준으로 정렬하자. (sorted_arr = sorted(arr, key=lambda x: x[1])) 정렬된 데이터의 맨 뒤가 가장 나이가 적은 사람(sorted_arr[-1][0]), 맨 앞이 가장 나이가 많은 사람(sorted_arr[0][0])이다. def init(): arr = [] for _ in range(int(input()))..
📚 문제 입력 출력 예제 입력 1 4 cat dog god tca예제 출력 1 2예제 입력 2 2 a a예제 출력 2 1🧑🏻💻 풀이 과정 입력 받은 단어를 정렬해서 set(ans)에 저장하자. ans의 길이를 반환하자. def equal_word_group_by(): n = int(input()) arr = [input() for _ in range(n)] ans = set("".join(sorted(i)) for i in arr) return len(ans) print(equal_word_group_by())
📚 문제 입력 출력 예제 입력 8 28예제 출력 8 9 18 15 14 19 11 17 16 13 12 10 28 25 24 21 27 26 23 22 20🧑🏻💻 풀이 과정 숫자를 단어로 변환하기 위한 딕셔너리(word_dict)를 선언하자. m부터 n까지의 숫자를 하나씩 가져온 뒤, 숫자 -> 문자로 변환(word = str(i))해서 다시 반복하면서 2자리 이상이면 변환된 단어뒤에 " "를 추가해서 저장하고, 한 자리면 변환된 단어만 저장하자. 이렇게 구한 값을 문자를 키로, 숫자를 값으로 저장(_dict)하자. 키(문자)를 오름차순 정렬해서 출력하자. import sys def number_game(m, n): global word_dict _dict = {} for i in range(m, n ..
📚 문제 입력 출력 예제 입력 3 4 ohhenrie charlie baesangwook obama baesangwook ohhenrie clinton예제 출력 2 baesangwook ohhenrie🧑🏻💻 풀이 과정 딕셔너리를 이용하면 간단하게 해결 가능하다. 이름을 입력받아 딕셔너리(_dict)를 초기화하면서 1증가 시키자. _dict[name]에 저장된 값이 1보다 크다는 것은 듣도 보도 못했다는 뜻이므로, 리스트(ans)에 따로 저장하면서 size를 1 증가시키자. size와 ans를 출력하자. import sys def no_listen_no_see(n, m): _dict = {} size = 0 ans = [] for _ in range(n + m): name = sys.stdin.readl..
📚 문제 입력 출력 예제 입력 5 6 3 2 10 -10 8 10 9 -5 2 3 4 5 -10예제 출력 1 0 0 1 1 0 0 1🧑🏻💻 풀이 과정 전형적인 이분탐색을 요구하는 문제. 비교할 카드를 0부터 비교할 카드의 길이 -1 동안 반복하며 상근이의 카드 중, 일치하는 카드가 나오면 1, 아니면 0을 ans에 저장하자. join을 이용해서 결과를 출력하자. 여담으로 딕셔너리나 set을 이용해서도 풀 수 있다고 한다. import sys def binary_search(arr, target, start, end): while start
📚 문제 입력 출력 예제 입력 1 4 4 10 20 30 40 1 O X X X 2 X O X X 3 X X O X 4 X X X O예제 출력 1 4 40예제 입력 2 4 8 10 20 30 40 1 O X X X 2 X O X X 3 X X O X 4 X X X O 80 O O O O 70 O O O O 60 O O O O 50 O O O O예제 출력 2 50 100🧑🏻💻 풀이 과정 입력 받은 수험번호(num)을 딕셔너리(_dict)에 추가하고, 반복하면서 채점결과(arr)가 O라면 점수를 더 해주자. 가장 높은 점수를 받은 학생 중, 가장 낮은 수험번호를 구하기 위해 min_student를 1000001로 초기화하자. 딕셔너리(_dict)를 반복하면서 최대 점수와 같은 요소의 k를 min_stude..
📚 문제 입력 출력 예제 입력 7 36 3 9 70 15 13 19 20 11예제 출력 3🧑🏻💻 풀이 과정 CTP 회원들의 볼펜의 수를 내림차순 정렬하자. 입력받은 총 회원의 수를 구하자(m * k) 정렬된 볼벤의 수를 반복하며, 빌려줄 펜의 수(pen_sum)보다 총 회원의 수(total_member_sum)가 더 많다면, pen_sum에 볼펜의 수를 더하고 cnt를 1 증가시키자. 반복을 마치고 펜이 부족하면 STRESS, 부족하지 않으면 cnt를 출력하자. def iupc(arr): # 총 회원 수 total_member_sum = m * k # 회원이 빌려줄 수 있는 볼펜의 수 pen_sum = 0 # 볼펜을 빌려줄 회원의 수 cnt = 0 for i in arr: # 빌려줄 펜의 수보다 총 회..
📚 문제 입력 출력 예제 입력 3 John 1.75 Mary 1.64 Sam 1.81 2 Jose 1.62 Miguel 1.58 5 John 1.75 Mary 1.75 Sam 1.74 Jose 1.75 Miguel 1.75 0예제 출력 Sam Jose John Mary Jose Miguel🧑🏻💻 풀이 과정 n만큼 이름(name)과 키(height)를 입력받아 리스트(names, heights)에 저장하자. 키 리스트(heights)에서 가장 큰 값을 변수(max_val)에 저장해두자. 키 리스트(heights)를 반복하면서 max_val과 같은 값을 가진 사람의 이름(name)을 ans에 저장하자. join을 사용해서 이름을 반환하자. def tall_person(n): names = [] height..
📚 문제 입력 출력 예제 입력 3 7 2 10 0 20 29 31 0 42 41 40 37 20 0예제 출력 134 17744 Too expensive🧑🏻💻 풀이 과정 moeny는 파이썬의 거듭제곱 기호 **를 이용하여 초기화해두자. 가장 적은 금액으로 부지를 구입하기 위해 입력받은 요소를 가장 큰 수부터 내림차순 정렬하자. 그래야 큰 수의 거듭 제곱을 줄일 수 있기 때문. sum을 arr[0]요소로 초기화 하고, arr[1]부터 반복하며 거듭 제곱한 결과를 계속 더하자. sum += (2 * (j ** cnt)) 거듭 제곱의 수를 1 증가시키자 cnt += 1 sum의 결과가 가진 돈 보다 크다면 Too expensive, 적다면 sum을 출력하자. def input_numbers(): numbers..
📚 문제 입력 출력 예제 입력 1 5 JOE BOB ANDY AL ADAM예제 출력 1 DECREASING예제 입력 2 11 HOPE ALI BECKY JULIE MEGHAN LAUREN MORGAN CARLI MEGAN ALEX TOBIN예제 출력 2 NEITHER예제 입력 3 4 GEORGE JOHN PAUL RINGO예제 출력 3 INCREASING🧑🏻💻 풀이 과정 입력 받은 names를 오름차순 정렬한 값과 일치하면 INCREASING names를 내림차순 정렬한 값과 일치하면 DECREASING 둘 다 해당 안 되면 NEITHER def line_up(names): if names == sorted(names): print("INCREASING") elif names == sorted(name..
- Total
- Today
- Yesterday
- 릿코드
- 코테
- mysql 8.0
- 자료구조
- Real MySQL
- leetcode
- 코틀린
- 김영한
- webflux
- 리팩토링
- 스프링
- Algorithm
- 스프링부트
- MySQL
- 정렬
- 알고리즘
- 파이썬
- 스프링 부트
- 노마드코더
- 구현
- 노마드
- kotlin
- 북클럽
- 데이터베이스
- 백준
- 문자열
- Spring
- 그리디
- spring boot
- 인프런
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |