본문 바로가기

프로그래머스66

프로그래머스 Lv2 가장 큰 수 도움말 (python) 가장 큰 수 풀이 어째 풀지 계속하다가 풀었다. 근데 하나가 계속 틀려서 보니 질문하기에서 테스트 케이스 한 개를 던져줘서 다행히 풀었다. [0,0,0] 이면 "0" 이 나와야하는데 아무래도 "000"을 출력해서 그런가 보다. 그래서 모든 숫자가 0일 때 0을 반환하게 해 주었다. def solution(numbers): # 모든 숫자가 0인지 확인 if all(num == 0 for num in numbers): return "0" # 문자열로 변환 numbers = list(map(str, numbers)) # 두 숫자를 이어붙였을 때 큰 수가 되도록 정렬 numbers.sort(key=lambda x: x*3, reverse=True) answer = ''.join(numbers) return an.. 2024. 2. 15.
프로그래머스 Lv1 햄버거 만들기 (python) 햄버거 만들기 풀이 처음에 일단 부딪히는 방법으로 풀어서 아래처럼 풀었다. # 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓임. # 순서에 맞게 햄버거를 완성시켜야함 # 햄버거는 아래서부터 빵-야채-고기-빵, 1-2-3-1. # 포장하는 동안 재료가 추가적으로 돌어오진 않음 def solution(ingredient): burger_num = 0 burger = [1,2,3,1] while len(ingredient) >= 4: for i in range(len(ingredient)-3): if ingredient[i:i+4] == burger: burger_num += 1 ingredient = ingredient[:i] + ingredient[i+4:] break else: break return .. 2024. 2. 14.
프로그래머스 Lv1 [PCCP 기출문제] 1번 / 붕대 감기 (python) [PCCP 기출문제] 1번 / 붕대 감기 풀이 처음 문제를 보고 나서 느낀 점은 이거 문제로 받았으면, 제 시간 안에 풀 수 있었을까? 였다. 문제를 읽는 것과 정리하는 시간도 필요했고, 그에 따른 고민도 해야 했기 때문이다. 다행히 LV1이어서 적당하게 이렇게 하면 요롷게 되겠지 하고 푸니 풀렸지만, 그 이상 레벨이었으면?? 흐음.. 일단 문제의 내용을 다시 정리하고, 그것을 토대로 작성을 했다. 시간은 계속 흐르고 시간에 대한 정의는 없었기에 for문 대신 while문으로 시간을 계속 흘려보냈다. 그리고 그 시신과 함께 공격 시간에 맞추어 공격이 이루어지는지를 확인하고, 공격이 없으면 체력을 회복하게 만들었다. while문이 끝나는 시점은 마지막 공격이 이루어졌을 때가 끝나는 것이기 때문에 공격 시점.. 2024. 2. 14.
프로그래머스 Lv2 튜플 (python) 튜플 풀이 보면서 진짜 이건 어떻게 풀지 하고 있다가, 보니, 뭘해도 결국 1개만 있는 것은 나와야했다. 이를 바탕으로 풀이를 해보려고 진행했다. 일단 문자열 형태로 되어있어서, 이것을 리스트 형태로 바꿔줄 필요가 있었기에 이를 조정했다. 1. 문자열을 리스트 형태로 변환 2. 생성된 리스트를 기반으로 리스트 안의 리스트의 길이를 기준으로 오름차순 정렬 3. for문을 돌면서 리스트 안의 리스트가 가진 요소를 answer에 기입하고, 이 때 이미 기입이 되지 않은 요소들만 계속 추가 4. 마지막으로 answer를 반환 # 1개짜리 2개짜리 3개짜리...에 들어있는 숫자 순으로 입력되어있음 # 이를 모두 리스트로 바꿔놓고, 해석하면 될 듯 # 우선 숫자의 길이만큼을 오름차순으로 리스트로 변환 def sol.. 2024. 2. 13.
프로그래머스 Lv1 공원 산책 (python) 공원 산책 풀이 문제가 길긴 했지만 몇 가지만 주의 하면 되는 문제이다. 결국은 if else문을 잘 쓸줄 아느냐 행렬을 사용할 줄 아느냐에 대한 문제이다. 각 기본 사항에 대해서 입력 시작 위치를 설정 시작 위치를 기반으로 행렬작동 행렬 작동간 로봇 강아지가 입력 거부 안하고 진행할 경우에만 로봇 강아지의 위치 조정 마지막 위치 반환 # 지나다니는 길을 'O', 장애물을 'X'로 나타낸 공원 # 로봇 강아지의 산책 # 입력 중에서 E 5 로 주어졌을 때, 이동 중 장애물을 만나거나 공원을 벗어난다면 이번 입력 수행 안함. def solution(park, routes): answer = 'NSWE' H = len(park) W = len(park[0]) d_dic = {"N":0,"S":1,"W":2,.. 2024. 2. 12.
프로그래머스 Lv1 성격 유형 검사하기 (python) 성격 유형 검사하기 풀이 문제가 길어서 잠깐 어,, 했지만 그래도 풀 수 있게다는 생각은 확실히 들었다. 그래서 아래처럼 풀었다. 1. 타입을 설정하는 리스트 생성 2. 해당 타입에 대한 점수를 기록한 리스트 생성 3. for 문을 통해 choices에서 점수를 기록 4. 심리 검사 완료 후 데이터 비교 분석하는 for문 생성 5. 4의 완료 후 값을 제출 # 나만의 카카오 유형 검사지 MBTI의 변종 # 타입 설정 # 동의 점수에 따른 유형 if문 작성 # 동점일 때는 사전적으로 더 앞선 것을 선택 # result에 넣을 수 있게, 바로바로 점수 계산 필요 types = ['R','T','C','F','J','M','A','N'] def solution(survey, choices): answer = .. 2024. 2. 11.