ALGORITHM 52

[Python] k진수에서 소수 개수 구하기

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 2. 코드 import math # 소수 판별 함수 def is_prime_num(n): if (n == 1) : return False sqrt_n = math.sqrt(n) sqrt_n = int(sqrt_n) for i in range(2,sqrt_n +1): if n % i == 0: retu..

ALGORITHM/Kakao 2022.03.08

[Python] 뉴스 클러스터링

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17677?language=python3 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 2. 풀이 - char 를 int 로 바꾸기 ord(char) - string을 소문자로 string.lower() 3. 코드 def solution(str1, str2): answer = 0 str1 = str1.lower() str2 = str2.lower() str_list1 = [] cnt_i..

ALGORITHM/Kakao 2022.01.07

[Python] 다트 게임

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 2. 풀이 replace 사용법 A를 B로 바꾸고 싶을 때 string = string.replace('A', 'B') 3. 코드 def solution(dartResult): answer = 0 num_list = [] i = 0 dartResult = dartResult.replace('10','M') while(i < len(dartResult)): if dartResult[i] == "M": num_list.append(10) elif dartResult[i] == "D": num_list[-1] = num_list..

ALGORITHM/Kakao 2022.01.04

[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