📚 문제 입력 출력 예제 입력 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 ljes=njak예제 출력 1 6예제 입력 2 ddz=z=예제 출력 2 3예제 입력 3 nljj예제 출력 3 3예제 입력 4 c=c=예제 출력 4 2예제 입력 5 dz=ak예제 출력 5 3🧑🏻💻 풀이 과정 크로아티아 문자를 리스트(croatia)로 만들어 반복하면서 입력받은 문자(word) 중, 일치하는 크로아티아 문자가 있으면 *로 치환하자. 문자의 길이를 반환하자. def croatia_alphabet(word): croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in croatia: ..
📚 문제 입력 출력 예제 입력 4 6 3 5 2 1예제 출력 4🧑🏻💻 풀이 과정 이중 반복문으로 소의 크기(cows)를 반복하며 두 소의 크기가 사이즈(s) 이하이면 카운트(count)를 1 증가시키자. python3로 이중 반복문을 사용한 경우, 시간초과가 발생하므로 pypy3로 제출하자. PyPy3 import sys def costume_party(cows): count = 0 for i in range(len(cows)): for j in range(i + 1, len(cows)): sum_size = cows[i] + cows[j] if sum_size
📚 문제 입력 출력 예제 입력 1 pikapi예제 출력 1 YES예제 입력 2 pipikachu예제 출력 2 YES예제 입력 3 pikaqiu예제 출력 3 NO예제 입력 4 piika예제 출력 4 NO예제 입력 5 chupikachupipichu예제 출력 5 YES🧑🏻💻 풀이 과정 입력받은 단어에 pi가 있으면 ' '으로 변환한다. 입력받은 단어에 ka가 있으면 ' '으로 변환한다. 입력받은 단어에 chu가 있으면 ' '으로 변환한다. 마지막으로 ' '를 ''으로 변환한다.(처음부터 ''로 변환하지 않고, ' '로 변환 후 ''로 변환하는 이유는 kpia같은 단어를 ''로 변..
📚 문제 입력 출력 예제 입력 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())
📚 문제 입력 출력 예제 입력 2 5 aaba ba ababa bbaa baaba 3 abc bcd cde예제 출력 abababa 0🧑🏻💻 풀이 과정 이중 반복문을 이용해서 단어의 갯수만큼 반복하자. 같은 단어는 합치면 안 되므로 조건문으로 단어가 서로 다른지 확인하자.(if i != j) 각 단어를 합친 결과(word)와 뒤집은 결과를 비교(if word == word[::-1])하자. 팰린드롬을 찾았으면 해당 단어를 반환하고, 찾지 못했다면 0을 반환하자. 결과 값이 0이면 0을 출력하고, 팰린드롬이면 단어를 출력하자. (print(0) if ans == 0 else print(ans)) def palindrome(): n = int(input()) arr = [input() for _ in ran..
📚 문제 입력 출력 예제 입력 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 ..
📚 문제 입력 출력 예제 입력 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 9 ENTER pjshwa chansol chogahui05 lms0806 pichulia r4pidstart swoon tony9402예제 출력 1 8예제 입력 2 7 ENTER pjshwa chansol chogahui05 ENTER pjshwa chansol예제 출력 2 5예제 입력 3 3 ENTER lms0806 lms0806예제 출력 3 1🧑🏻💻 풀이 과정 곰돌이가 귀여운 문제다. n번 만큼 반복하면서 문자를 입력받아, 문자가 ENTER가 아니고, 새로 접속한 회원이 아니면 set(gomgom)에 저장하고, 카운트를 1 증가시키자. 문자가 ENTER면, 기존에 접속한 회원들의 정보를 초기화(gomgom.clear())하자. 반복을 마쳤으면, cnt를 출력하자...
📚 문제 입력 출력 예제 입력 1 )))()예제 출력 1 3예제 입력 2 )(()예제 출력 2 2예제 입력 3 ))()((예제 출력 3 4예제 입력 4 )(()(()))예제 출력 4 1🧑🏻💻 풀이 과정 입력 받은 괄호를 하나씩 꺼내면서 (이면 arr에 저장하자. )이면, arr의 길이가 1과 같다면 올바른 괄호니까 arr에서 pop해주고, arr의 길이가 0이면 (가 없었단 뜻으로 올바르지 않은 괄호이다. cnt를 1 증가시키자. arr에 (가 남아있을 수 있으니까 cnt + len(arr)를 반환하자. 그게 곧 앞과 뒤에 붙여야 할 괄호의 최소 개수이다. def process(word): arr = [] cnt = 0 for i in word: if i == '(': arr.append..
- Total
- Today
- Yesterday
- 문자열
- 구현
- mysql 8.0
- 데이터베이스
- 그리디
- MySQL
- 스프링부트
- 인프런
- leetcode
- 노마드
- 북클럽
- 김영한
- 리팩토링
- 파이썬
- 자료구조
- 정렬
- 스프링
- 코테
- 릿코드
- 알고리즘
- Spring
- spring boot
- 노마드코더
- 코틀린
- kotlin
- Real MySQL
- webflux
- Algorithm
- 스프링 부트
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |