코딩테스트(3)
-
[백트래킹, 코드트리] 아름다운 수
내 코드 - 일부 케이스를 잡아내지 못했음. n = int(input()) # 1 ~ 4 의 수로, 그 중 연달아 같은 수가 나오는 숫자 - 아름다운 수 # 동일한 숫자에 대해 정확히 해당 숫자만큼 연달아 같은 묶음 (111 : 1이 1번 - 3번 / 222222222 : 2가 2번이 4번) # 1 이 1번, 2가 2번, 3이 3번 (단일 연속) # 222의 경우 22 / 21 이라서 아름다운 수가 아님...! (2가 3번 나오면 안되고, 정확히 2번 나와야 함으로 인지) # out : n자리의 아름다운 수가 몇 개인지 ? # Step 1 : n 자리의 1 ~ 4로 꾸려진 수를 먼저 출력해야 함. # Step 2 : 각 수들에 대한 아름다운 수 여부를 검사 answer = [] beautiful_num_..
2023.08.15 -
[자료구조, 파이썬] 리스트, 딕셔너리, 튜플(list, dict, tuple)
현재까지의 코딩테스트 문제를 풀이했던 경험으로 볼 때, 3가지 자료구조의 용례를 개인적으로 정리해보면 다음과 같다. - 리스트 : 뭘 써야할 지 모를 때, 가장 무난하게 사용하기 좋다. C++등의 배열에 해당하는 컨셉이 구현되어 있어, 인덱스에 따른 순차적인 접근이 가능하다. 예 ) a = [1, 2, 3, 'a', 'b'] >> a[1] = 2 - 딕셔너리 : 리스트와 달리, 사람이 알아볼 수 있는 자료형으로 태깅하여(해싱) 자료값에 접근이 가능하다. 또 중복값이 불가능하다. 예) b = {'name' : 'gildong', 'birth' : '2000. 01. 01', 'address' : '서울시 관악구 관악로 144'} >> b['name'] = 'gildong' - 튜플 : immutable(변..
2023.01.18 -
[프로그래머스] 코딩테스트 연습 - 이중우선순위큐 풀이 (파이썬)
문제 - 요약 명령어 수신 탑(높이) I 숫자 큐에 숫자 삽입 D 1 큐에서 최댓값 삭제 D -1 큐에서 최솟값 삭제 모든 연산 수행 후 큐가 비어있으면 [0, 0], 아니면 [최댓값, 최솟값] return - 제한사항 : operations 의 길이 : 1 ~ 1,000,000 : operations 의 원소 : "명령어 데이터" 의 형식 - 연산에서 최댓값/최솟값이 둘 이상일 경우 하나만 삭제 : 빈 큐에 데이터 삭제 연산 - 무시 - 입출력 예시 operations return ["I 16", "I -5643", "D -1", "D 1", "D 1", "I 123", "D -1"] [0,0] ["I -45", "I 653", "D 1", "I -642", "I 45", "I 97", "D 1", "..
2023.01.03