일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lambda
- Zip
- Combinations
- 재귀함수
- Re
- 이분탐색
- 파이썬
- 자바
- 프로그래머스
- 다익스트라
- java
- 백준
- 그리디
- 위클리 챌린지
- 정렬
- programmers
- 동적 계획법
- heapq
- backjoon
- 카카오
- DateTime
- BFS
- divmod
- 정규식
- 추석맞이 코딩챌린지
- 수학
- Set
- KAKAO BLIND RECRUITMENT
- python
- dfs
- Today
- Total
목록파이썬 (161)
상상쓰
https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 4단계 문제 '호텔 방 배정' 처럼 재귀함수를 이용하여 위치를 찾고 'C' 일 때, k 를 remove 에 담아 처리하려고 했으나, 'Z' 때문에 구현하기가 힘들 것 같았다. 그래서 생각해낸 것이 heapq 를 이용하였다. 'Z' 의 경우에도 복원된 행의 위치를 queue 에 담기만 하면 제 위치를 찾아가기 때문..
https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net heapq 를 이용하여 bigger 과 smaller 인 queue 를 만들어서 기준이 되는 중간값(bigger[0]) 을 기준으로 크면 bigger, 작으면 smaller 에 추가해준다. bigger[0] 은 값이 추가될 때, 그 값이 smaller 의 어떤 원소보다 작을 수 있으므로 smaller[0] 과 비교하여 작으면 교체해준다. import sys, heapq N = in..
https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 파이썬에서 진수를 쉽게 나타낼 수 있다. import sys O = '0o' + str(sys.stdin.readline().strip()) print(bin(int(O, 8))[2:])
https://programmers.co.kr/learn/courses/30/lessons/17676 = process[k][0]: c = c + 1 if answer < c: answer = c return answer print(solution(['2016-09-15 01:00:04.001 2.0s', '2016-09-15 01:00:07.000 2s'])) # 1
https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net heapq 를 이용하여 처음에 올 수 있는 자리에 수 중 가장 큰 것을 뽑고 index 를 비교하여 다음으로 올 수 있는 수 중에서 가장 큰 값을 차례대로 뽑으면 된다. 예를 들어, N = 10, K = 4, number = 4177252841 라고 하자. 그럼 가장 처음에 올 수 있는 수는 417(1)7(2)2 중 하나의 수가 된다. 52841 중 하나를 택하면 6자리의 수가 될 수 없다. 가장 큰 값인 7과 7의 인덱스(I)를 잡는다. 다음으로, 417(1)7(2)25 ..
https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 자리에 응시자가 올 경우, 맨해튼 거리가 1인 자리에 빈 테이블이 온다면 '0' 를 'T'..
https://programmers.co.kr/learn/courses/30/lessons/64063 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr dic 과 재귀함수를 이용하여 빠르게 빈방을 찾아주도록 한다. 처음에는 아래의 방식과 비슷하게 구현하여 while 을 이용하여 dic[dic[]] 으로 구현했는데 시간 초과가 났다. 다른 블로그를 참고하니 재귀함수가 사용되었는데 앞으로 비슷한 문제가 나오면 이렇게 풀어야겠다. import sys sys.setrecursionlimit(10000000) def room_empty(i, dic): answer = 0 if i not in dic: dic[i] = i + 1 answer = i else: j = room_empty(dic[i],..
https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 2021 카카오 채용연계형 인턴십 1단계 문제 def solution(s): answer = 0 number = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] for i in range(10): s = s.replace(number[i], str(i)) ..
https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net lambda 를 이용하여 문장의 단어를 하나씩 뒤집을 수 있다. 문자열 또는 배열을 역으로 나열하고 싶을 때는 [::-1] 을 쓰면 된다. import sys N = int(sys.stdin.readline()) for i in range(N): S = list(sys.stdin.readline().strip().split()) answer = ' '.join(map(lambda x : x..
https://www.acmicpc.net/problem/16288 16288번: Passport Control 입력은 표준입력을 사용한다. 첫 번째 줄에는 두 개의 정수 N 과 k 가 주어진다. N은 입국 승객의 수이며 k는 여권 심사 창구의 수이다. 단, 2 ≤ k ≤ N ≤ 100 이다. 그리고 두 번째 줄에는 승객이 입 www.acmicpc.net 1 부터 N 까지 k 개의 q 에 차례대로 진입하므로 다 진입했을 때의 q 를 보면 각각 오름차순으로 정렬이 되어야한다. 즉, PI 를 가지고 k 개의 q 로 분할했을 때 오름차순으로 나타낼 수 없다면 'NO' 를 반환하고, 나타낼 수 있다면 'YES' 를 반환한다. import sys N, k = map(int, sys.stdin.readline()...