📚 문제 입력 출력 예제 입력 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: ..
📚 문제 입력 출력 예제 입력 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 ..
📚 문제 입력 출력 예제 입력 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..
📚 문제 입력 출력 예제 입력 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..
📚 문제 입력 출력 예제 입력 1 6 (())()) (((()())() (()())((())) ((()()(()))(((())))() ()()()()(()()())() (()((())()(예제 출력 1 NO NO YES NO YES NO예제 입력 2 3 (( )) ())(()예제 출력 2 NO NO NO🧑🏻💻 풀이 과정 입력 받은 괄호 문자열(s)에서 괄호를 하나씩 꺼내서 "("면 arr에 append 및 ans +1, ")"면 arr에서 pop 및 ans -= 1하자. ")"일 때, arr의 길이가 0이라면 "("가 없는 괄호를 닫은 것이므로, 올바르지 못한 괄호이다. 바로 NO를 반환하자. (if len(arr) == 0: return 'NO') 반복을 마치고, ans가 0이면 올바른..
📚 문제 입력 출력 예제 입력 1 11 44 0 38 41 38 31 23 8 41 30 38 Hello World예제 출력 1 y예제 입력 2 5 12 3 34 52 0 apple예제 출력 2 n🧑🏻💻 풀이 과정 딕셔너리를 이용하여 평문과 비교할 암호문을 초기화 하자.(word_dit = init_dic()) 입력받은 암호문(secret_text)을 오름차순 정렬하자. 평문(plain_text)에서 단어를 하나씩 추출하여 암호문으로 치환하고, 암호문과 비교하기 위해 오름차순 정렬도 잊지말자.(arr = sorted([word_dit.get(text) for text in plain_text])) 서로 정렬된 결과를 비교하여 반환하자. (return 'y' if secret_text ==..
- Total
- Today
- Yesterday
- 정렬
- 자료구조
- leetcode
- 백준
- Algorithm
- spring boot
- 김영한
- 인프런
- MySQL
- Spring
- Real MySQL
- 릿코드
- 코틀린
- 노마드코더
- 문자열
- 북클럽
- mysql 8.0
- 데이터베이스
- 알고리즘
- 스프링부트
- 파이썬
- 코테
- 스프링 부트
- kotlin
- webflux
- 리팩토링
- 스프링
- 그리디
- 구현
- 노마드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |