일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 추석맞이 코딩챌린지
- 카카오
- 자바
- heapq
- 프로그래머스
- Set
- 동적 계획법
- KAKAO BLIND RECRUITMENT
- lambda
- Zip
- DateTime
- 정렬
- 파이썬
- 그리디
- 이분탐색
- 재귀함수
- 위클리 챌린지
- python
- divmod
- 수학
- programmers
- Combinations
- Re
- 다익스트라
- 정규식
- 백준
- dfs
- backjoon
- BFS
- java
- Today
- Total
목록분류 전체보기 (202)
상상쓰
https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 문제를 잘 읽어보면 커플이 문제다. import sys N = int(sys.stdin.readline()) S = sys.stdin.readline().strip() n = 0 for i in S: if i == 'L': n += 1 answer = N if n == 0 else N - (n // 2) + 1 print(answer)
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()...
https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 정렬을 통하여 차례대로 카메라를 반드시 설치하여야 하는 경우를 세어준다. [-20, 15] 만을 본다면 적어도 15 이하에는 카메라가 설치되어 있어야 한다. 다음 순서인 [-14, -5] 를 봤을 때는 -14 가 -20 보다 크다는 것은 sort() 로 보장되어 있다. 즉, 15 가 -14 보다 크다면 15 와 [-14, -5] 에서 나간 지점은 5 랑 비교하여 작은 값에 카메라를 설치하는 것이 이상적이다. 반대로 작다면, 카메라 1대로 두 구간을 확인하는 것이 불가..