본문 바로가기

Algorithm5

[Python] 프로그래머스 | 숫자의 표현 문제 접근 문제 예시를 보고 자연수 n을 표시한 방법에 대해 고민했다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 1. 1부터 n까지 1씩 증가한 값을 더해 n 표현 2. 1부터 n/2까지 1씩 증가한 값을 더해 n 표현 3. n/2부터 n까지 1씩 증가한 값을 더해 n 표현 4. n 자체로 표현 이 접근을 토대로 하면 자연수 n을 표시하는 경우의 수는 최대 4가지다. 그리고 이 로직으로 문제를 푼다면 코드가 길어질 것 같은데 대체로 코드가 길어질게 예상되면 문제를 틀리는 경우가 많아 다른 방법을 더 고민해봤다. 첫 번째 예시를 보면 1부터 n까지의 항들이 모두 1씩 증가한다. 따라서 이 수열은 등차수열이다. 등차수열의 합으로 등차수열의 경우의.. 2024. 1. 19.
[Python] 프로그래머스 | 가장 많이 받은 선물 2024 카카오 윈터 인턴십 문제가 프로그래머스에 업데이트되었다. 그 중 가장 난이도가 쉬운 문제를 풀어봤다. 문제 풀이 시간이 종료되었을 때 코드는 아래와 같다.def solution(friends, gifts): answer = 0 # 이번달 선물 기록 바탕으로 담달 누가 많이 받을지, 얼마나 받을지 # 이번달 두 사람 사이 더 많이 준 사람이 담달에 선물 1 # 두 사람 없거나 똑같으면 선물지수 높은사람이 받음 # 선물지수 같으면 담달 선물 x # 선물지수: 보낸 선물 - 받은 선물 # send_dic = dict.fromkeys(friends,0) # receive_dic = dict.fromkeys(friends,0) gift_level = dict.fromkeys(friends,0) resul.. 2024. 1. 5.
[Python] 프로그래머스 | [PCCE 기출문제] 10번 / 데이터 분석 https://school.programmers.co.kr/learn/courses/30/lessons/250121 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 풀면서 좀 더 파이썬스러운 코드는 무엇일지 고민해 볼 수 있었다. 이를 위해 인덱싱과 리스트 컴프리헨션에 좀 더 익숙해지는 게 필요하다고 느꼈다. data를 파싱해 ext와 val_ext, sort_by와 비교해야하기 때문에 리스트로 인덱싱 하거나, 딕셔너리의 key로 접근해야 한다고 생각했다. 첫 코드는 언어만 파이썬일 뿐 자바 코드와 다를게 없었다. 게다가 index() 메서드를 .. 2024. 1. 2.
[Python] 프로그래머스 | 실패율 요즘 파이썬으로 알고리즘 문제를 풀고 있다. 파이썬 다운 코드 보다는.. 스스로 생각한 로직으로 솔루션을 제시하는 것에 집중하고 있다. 코드에 주석이 섞여있는데 요구사항을 읽으며 주석을 간단히 달아두는 게 도움이 많이 된다. 동료들과 우테코 최종 테스트 대비 스터디를 하며 아직은 주석을 달아가며 구현하는게 필요하다고 느꼈다. 아직 내가 작성한 코드를 한 눈에 알아보는 능력이 부족하기도 하고, 요구사항을 분석하며 필요한 로직을 주석으로 달아 구현해 나가면 좀 더 세세하게 설계를 고민할 수 있는 것 같다. def solution(N, stages): answer = [] # 실패율이 높은 스테이지 내림차순 # 실패율 = 스테이지 도달&아직 클리어x 플레이어 수 / 스테이지 도달한 플레이어 수 # N : 전체.. 2023. 12. 18.