분류 전체보기 83

[Python] 이진 변환 반복하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 2. 풀이 bin(십진수) 를 하면 앞에 0b가 붙어진 스트링으로 리턴된다!! 꼭 [2:]를 해주자! 3. 코드 def solution(s): cnt_0 = 0 cnt_2 = 0 while (len(s) > 1): cnt_2 = cnt_2 +1 cnt = 0 # 0 지우고 글자수 세기 for i in s: if (i == '1'): cnt = cnt + 1 # 0 제거된 횟수 cnt_0 = cnt_0 + len(s) - cnt # cnt 를 2진수로 s = bin(cnt) s = s[2:] answer = [] answer..

ALGORITHM/Kakao 2021.10.09

[Python] 메뉴 리뉴얼

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 2. 풀이 - 조합 from itertools import combinations combi_list = list(combinations(setA, i)) - 부분집합 setA.intersection(setB) - 합집합 setA.union(setB) 3. 코드 from itertools import combinations def solution(ord..

ALGORITHM/Kakao 2021.10.08

[Python] 삼각달팽이

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 2. 풀이 규칙을 찾는게 중요하다! 최대한 뭐가 어디서 반복되는지를 잘 확인하자 ** insert(자리, 넣는값) ** 3. 코드 def solution(n): answer = [] answer_list = [] for i in range(n): element = [] answer_list.append(element) size = n-1 index = 1 s..

ALGORITHM/Kakao 2021.10.08

[Python] 거리두기 확인하기

1. 문제 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 2. 풀이 dfs로 경로를 확인할때는 ... -> 이쪽한번 했으면 =5): re..

ALGORITHM/Kakao 2021.10.05

[Python] 문자열 압축

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/60057# 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 2. 풀이 10의 자리수는 자리수가 2... 100의 자리수는 자리수가 3... 극단적인 예시를 항상 생각하자! 3. 코드 def solution(s): answer = 0 minans = len(s) for i in range(1,len(s) // 2+1): cut = s[0:i] cnt = 1 answer = len(cut) for j i..

ALGORITHM/Kakao 2021.10.05

[Python] 괄호 회전하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 2. 풀이 copy 대신 이렇게도 쓸 수 있다 s = origins[:] 3. 코드 def checkpair(a,b): if a == '(': if b == ')': return True elif a == '{': if b == '}': return True elif a == '[': if b == ']': return True return False def checkstack(origins): s = origins[:] stack = [] top = -1 answer = 0 for i in s: new = i if top !=..

ALGORITHM/Kakao 2021.10.05

[Python] 비밀지도

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 2. 풀이 파이썬의 비트연산 : & 와 | 파이썬 십진수 -> 이진수 바꾸는 함수 : bin() 3. 코드 def solution(n, arr1, arr2): arr3 = [] answer = [] for i in range(n): arr3.append(arr1[i] | arr2[i]) for i in range(n): bin_temp = bi..

ALGORITHM/Kakao 2021.10.03

[Python] 수식 최대화

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 2. 풀이 - deep copy list를 함수에 인자로 넣으면 list가 바뀐다.. ㄷㄷ.. 나는 이걸 왜 지금까지 몰랐던가... 그래서 다른 함수로 부른 뒤 deepcopy를 이용하여 복사해서 사용해야 한다..!! - remove (값) remove는 항상 값을 맨 앞에부터 지운다! 동명 다른값이 지워지지 않도록 조심하자 3. 코드 import ..

ALGORITHM/Kakao 2021.10.02

[Python] 키패드 누르기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 2. 풀이 - r - 1 % 3 하면 1 % 3 이 먼저 계산된다. - 이거로 뻘짓함.. 바보임.. 3. 코드 def solution(numbers, hand): answer = '' l = 10 r = 12 for i in numbers: ..

ALGORITHM/Kakao 2021.09.30

[Python] 징검다리

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/64062?language=python3 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 2. 풀이 제귀가 아니라 그냥 반복문으로 풀 수있으면 반복문으로 끝내자...^^* 3. 코드 def countx(stones, target): cnt = 0 max_cnt = 0 for i in stones: if i max_cnt): max_cnt = cnt cnt = 0 if (cnt > max_cnt): max_cnt = cnt return max_cnt de..

ALGORITHM/Kakao 2021.09.30