문제출처 - https://programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = s minLen = len(s) # 문자열을 1개~len(s)/2개씩 각 단위만큼 잘라서 압축 for unit in range(1, len(s) // 2 + 1): tempAnswer = "" temp = s[:unit] cnt = 1 for i in range(unit, len(s), unit): if temp == s[i:i+unit]: cnt +..
문제출처 - https://www.acmicpc.net/problem/1074 1074번: Z 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 배열의 크기가 2^N * 2^N라서 왼쪽 위에 있는 칸이 하나가 아니라면, 배열을 4등분 한 후에 (크기가 같은 2^(N-1)로) 재귀적으로 순서대로 방문한다. 다음 예는 2^2 * 2^2 크기의 배열을 방문한 순서이다. N이 주어졌을 때, (r, www.acmicpc.net 틀린 풀이 n, r, c = map(int, input().split()) location = 0 # 몇사분면에 있는지 answe..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = 0 stack = [s[0]] for i in range(1, len(s)): stack.append(s[i]) if len(stack) >= 2: if stack[len(stack)-1] == stack[len(stack)-2]: stack.pop() stack.pop() if len(stack) == 0: answer = 1 return answe..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(land): # n행 4열 for i in range(len(land) - 1): land[i + 1][0] = max(land[i][1], land[i][2], land[i][3]) + land[i+1][0] land[i + 1][1] = max(land[i][0], land[i][2], land[i][3]) + land[i+1][1] land[i + 1][2] = max..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(record): answer = [] res = [] dic = {} # {id: 닉네임} for i in range(len(record)): temp = record[i].split(' ') if temp[0] == 'Enter': dic[temp[1]] = temp[2] res.append([temp[0], temp[1]]) elif temp[0] == 'Leave': ..
문제출처 - https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14dUIaAAUCFAYD&categoryId=AV14dUIaAAUCFAYD&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com def calPow(num, cnt): global n, m, answer if cnt == m: answer = num return calPow(num * n, cnt + 1) for case in range(1, 11): t = int(input()) n, m = map(int, input().spli..
문제출처 - https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다. www.acmicpc.net n = int(input()) dic = {} for case in range(n): tmp = int(input()) if tmp in dic: dic[tmp] += 1 else: dic[tmp] = 1 dic = sorted(dic.items(), key=l..
문제출처 - https://www.acmicpc.net/problem/3047 3047번: ABC 문제 세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다. 세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 수 A, B, C가 주어진다. 하지만, 순서는 A, B, C가 아닐 수도 있다. 세 수는 100보다 작거나 같은 자연수이다. 둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다. 출력 주어진 세 수를 주어진 출력 순서대로 출력하면 www.acmicpc.net arr = list(map(int, input().split())) arr.sort() order = input() dic = ..
- Total
- Today
- Yesterday
- 힙
- 문자열처리
- dictionary
- 스택
- 괄호
- 딕셔너리
- 2019 Kakao Blind Recruitment
- SWExpert
- 프로그래머스
- Python
- combination
- 문자열
- hash
- 해시
- left join
- 코딩테스트
- 재귀
- 백준
- SW Expert
- 완전탐색
- 우선순위큐
- C++
- 정렬
- 구현
- BOJ
- 순열
- 파이썬
- 2020 KAKAO BLIND RECRUITMENT
- programmers
- Permutation
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |