프로그래머스(23)
-
[Python] 프로그래머스 lv2 - 두 큐 합 같게 만들기
[Python] 프로그래머스 lv2 - 두 큐 합 같게 만들기 코딩테스트 연습 - 두 큐 합 같게 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 여기서 2번의 과정을 구현해야겠다고 생각을 했다. 두 큐의 합을 구하면서 비교 비교 후 합의 값이 큰 큐에서 pop(0)하여 다른 큐에 append 해주는 방식을 채택 해당 과정당 cnt의 증가로 과정을 체크 반환 값의 경우 큐의 합들이 동일하면 cnt 반환, 값이 틀리면 -1 반환 처음 1번의 과정을 진행하기 전 두 개의 큐의 합이 홀수..
2024.01.02 -
[Python] 프로그래머스 lv2 - 숫자 변환하기
[Python] 프로그래머스 lv2 - 숫자 변환하기 코딩테스트 연습 - 숫자 변환하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 숫자를 기준으로 x가 y가 되기까지의 최소 연산 횟수를 구하는 문제이다. 하나의 방법으로는 제한사항, 시간초과, 런타임 에러등의 두 가지의 방법을 생각했었다. 재귀 - 런타임 에러 발생 문제에서 요구하는 계산을 재귀로 호출, 재귀에서 호출하며 들어오는 cnt를 list에 저장 저장된 list의 최솟값을 answer로 반환 만약에 x==y가 성립되지 ..
2023.12.29 -
[Python] 프로그래머스 lv1 - 가장 가까운 같은 글자
[Python] 프로그래머스 lv1 - 가장 가까운 같은 글자 https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 최근 dictionary 사용하는 법을 알게 되어서 dictionary를 적용해서 풀이 주어진 문자열을 set으로 중복 글자를 제거한 뒤 리스트로 변환 딕셔너리에 각 처음 등장하는 경우 값을 -1로 세팅 반복문 실행 if dic[s[i]]==-1인 경우 answer에 해당 값 삽입 -> -1인 경우 처음 등장하였기 때문이다..
2023.12.28 -
[Python] 프로그래머스 lv2 - 연속된 부분 수열의 합
[Python] 프로그래머스 lv2 - 연속된 부분 수열의 합 https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 수열의 경우 오름차순(비내림차순)으로 정렬이 되어있다. 이때 주어진 수열에서 주어진 수(k)를 만족하고 end-start의 크기가 최소인 start와 end를 반환하는 것이 목표 접근 방법 start와 end를 기준으로 리스트를 탐색하며 start와 end 사이의 연속된 수의 합이 k가 되는지 확인 TwoPointe..
2023.12.27 -
[Python] 프로그래머스 lv1 - 로또 최고 순위와 최저 순위
[Python] 프로그래머스 lv1 - 로또 최고 순위와 최저 순위 https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 lottos와 win_nums의 경우 6개의 숫자 배열 등수 확인을 위해 dictionary를 사용하여 등수를 기입 알아볼 수 없는 숫자는 0으로 표기 즉 알아볼 수 없는 숫자를 맞게 할 수도 틀리게 할 수도 있음 최고 순위의 경우 기존의 숫자에서 맞는 경우 + 0으로 표기가 된 숫자의 경우를 더해서 등수를 출력 최저 ..
2023.12.26 -
[Python] 프로그래머스 lv1 - 달리기 경주
[Python] 프로그래머스 lv1 - 달리기 경주 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 풀이 코드 첫 번째 시도코드 시간초과 발생 다른 방법 필요 제약 조건을 살펴보니 리스트에 한 번에 많은 데이터가 들어와서 데이터가 많아지면 list에서는 문제가 해결돼도 시간 초과가 발생한다. def solution(players, callings): answer = [] # calling 배열 반복문 # 만약 해당 인물이 불렸다면,..
2023.12.26