본문 바로가기
SMALL

프로그래머스19

[프로그래머스/2단계/파이썬(Python3)] 삼각달팽이 백준 문제 중 벌집을 풀다가 예전에 프로그래머스 월간챌린지에서 본 문제랑 비슷해 보였습니다. 음, 비슷해보이는건 그림 때문이고ㅋㅋ 전혀 다른 문제였습니다. 수열을 이용해서 푸는 게 아니라 배열의 구조를 이용해서 문제에 접근해야 하더군요 문제 출처 코딩테스트 연습 - 삼각 달팽이 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 풀이 코드 def solution(n): box = [[0]*a for a in range(1,n+1)] # 삼각형 박스 만들기 x, y = 0, 0 # 초기 좌표 num=1 for i in range(n): for j in .. 2021. 7. 7.
[프로그래머스/1단계/파이썬(Python3)] 로또의 최고 순위와 최저 순위 문제 출처 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 코드 def solution(lottos, win_nums): min, max = 0, 0 for lotto in lottos: if lotto == 0: max+=1 else: if lotto in win_nums: min+=1 max+=min if min==0 and max!=0: answer = [7-max, 6] if min==0 and max==0: answer = [6, 6] if min!.. 2021. 7. 4.
[프로그래머스/2단계/파이썬(Python3)] 짝지어 제거하기 문제 출처 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 풀이 코드 (시간초과가 나고 효율성에서 통과 못함) def solution(s): words=['qq','ww','ee','rr','tt','yy','uu','ii','oo','pp','aa','ss','dd','ff','gg','hh','jj','kk','ll', 'zz','xx','cc','vv','bb','nn','mm'] while True: for word in words: s=s.replace(word,'') if len(s)=.. 2021. 6. 27.
[프로그래머스/2단계/파이썬(Python3)] 가장 큰 수 문제 출처 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 풀이 코드 def solution(n): # 리스트 아이템들을 문자열로 바꿈 n=list(map(str,n)) # 최대자리수(4)까지 아이템들을 반복해준 뒤 큰 수대로 나열 n.sort(reverse=True, key=lambda x: x*4) # 0000 = 0 이 될 수 있도록 반환값 조절하기 answer = str(int(''.join(n))) return answer 숫자를 문자열.. 2021. 6. 27.
LIST