📚 문제 입력 출력 예제 입력 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())
📚 문제 입력 출력 예제 입력 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 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를 출력하자...
📚 문제 입력 출력 예제 입력 26 5 Bulbasaur Ivysaur Venusaur Charmander Charmeleon Charizard Squirtle Wartortle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidgey Pidgeotto Pidgeot Rattata Raticate Spearow Fearow Ekans Arbok Pikachu Raichu 25 Raichu 3 Pidgey Kakuna예제 출력 Pikachu 26 Venusaur 16 14🧑🏻💻 풀이 과정 파이썬의 딕셔너리를 사용하자. 숫자를 입력 받았을 때, 바로 찾기 위해서 1부터 n+1만큼 반복하자. 나중에 입력받을 이름과 번호를 각각 구분해서 valu..
📚 문제 입력 출력 예제 입력 1 15 push_back 1 push_front 2 front back size empty pop_front pop_back pop_front size empty pop_back push_front 3 empty front예제 출력 1 2 1 2 0 2 1 -1 0 1 -1 0 3예제 입력 2 22 front back pop_front pop_back push_front 1 front pop_back push_back 2 back pop_front push_front 10 push_front 333 front back pop_back pop_back push_back 20 push_back 1234 front back pop_back pop_back예제 출력 2 -1 -1..
📚 문제 입력 출력 예제 입력 15 push 1 push 2 front back size empty pop pop pop size empty pop push 3 empty front예제 출력 1 2 2 0 1 2 -1 0 1 -1 0 3🧑🏻💻 풀이 과정 n번동안 반복하며 명령어(command)를 입력받자. 데이터를 앞(front)과 뒤(back)에서 가져와서 출력하기 위해 collections.deque를 이용하여 q = deque()를 선언하자. push면 명령어의 5번째 인덱스부터 q에 저장하자. pop이면 q의 사이즈가 0이면 -1 출력, 아니면 popleft()로 맨 앞의 요소를 출력하자. size면 q의 사이즈를 출력하자. empty면 q의 사이즈가 0이면 1 출력, 아니면 0을 출력하자. f..
📚 문제 입력 출력 예제 입력 1 14 push 1 push 2 top size empty pop pop pop size empty pop push 3 empty top예제 출력 1 2 2 0 2 1 -1 0 1 -1 0 3예제 입력 2 7 pop top push 123 top pop top pop예제 출력 2 -1 -1 123 123 -1 -1🧑🏻💻 풀이 과정 n번동안 반복하며 명령어(command)를 입력받자. size면 stack의 길이를 출력하자. empty면 stack이 []와 같다면 1 출력, 아니면 0을 출력하자. top이면 stack이 []와 같다면 -1 출력, 아니면 stack의 마지막 요소를 출력하자. pop이면 stack이 []와 같다면 -1 출력, 아니면 stack.pop()을 출..
📚 문제 입력 출력 예제 입력 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이면 올바른..
Hash table hash table은 효율적인 탐색(빠른 탐색)을 위한 자료구조로써, key-value쌍의 데이터를 입력받는다. hash function h에 key값을 입력으로 넣어 얻은 해시값 h(k)를 위치로 지정하여 key-value 데이터 쌍을 저장한다. Direct-address Table hash table을 알아보기에 앞서, Direct-address Table을 알아보자. Direct-address Table(직접 주소화 테이블)이란, key값으로 k를 갖는 원소는 index k에 저장하는 방식이다. 즉, 아래 데이터를 기준으로 key값을 index로 설정하여 index 3번에는 맹짱구를 저장하고, 5번에는 김철수, 6번 정훈이, 7번에는 남맹구를 저장한다. key: 출석번호, val..
- Total
- Today
- Yesterday
- 백준
- 자료구조
- mysql 8.0
- MySQL
- 정렬
- spring boot
- 노마드
- 그리디
- 파이썬
- webflux
- 북클럽
- 코틀린
- 리팩토링
- leetcode
- 노마드코더
- 알고리즘
- 구현
- 문자열
- Real MySQL
- 데이터베이스
- kotlin
- 김영한
- 스프링
- 스프링부트
- 스프링 부트
- 코테
- 인프런
- 릿코드
- Algorithm
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |