문제는 위와 같으며 처음에는 커서의 위치를 변수로 가지고 있고 화살표 입력 등에 따라 커서를 이동시키면서 비밀번호를 찾는 방식을 사용하였습니다. 하지만 이렇게 한 경우에는 시간 초과가 발생하였습니다. 그래서 커서를 이동시키지 않고 커서를 기준으로 왼쪽 문자를 담는 배열과 오른쪽 문자를 담는 배열을 따로 선언하는 방식으로 구현하였습니다. 파이썬 코드는 아래와 같습니다. from sys import stdin test_case = int(stdin.readline()) for _ in range(test_case): L = stdin.readline().strip() left = [] right = [] for ch in L: if ch == '': if right: left.append(right.pop(..
문제는 위와 같고 (우선순위, 인덱스) 형태의 튜플을 리스트로 저장한 뒤, 앞에서부터 차례대로 꺼내서 우선순위가 최대인지 확인합니다. 우선 순위가 최대라면 먼저 출력 count 를 1 추가한 뒤, 원래 뽑으려고 한 인덱스가 맞는지 확인하여 맞다면 그대로 출력 count 를 프린트하고 종료합니다. 아니라면 그냥 pop(0) 합니다. 맨 앞에서 꺼낸 데이터의 우선순위가 최대가 아니라면 해당 데이터를 다시 리스트의 젤 마지막에 추가합니다. 파이썬 코드는 다음과 같습니다. from sys import stdin test_case = int(stdin.readline()) for _ in range(test_case): n, m = map(int, stdin.readline().split()) queue = li..
문제는 위와 같으며 우선 주어지는 카드의 수가 100 이하이기 때문에 단순하게 모든 경우의 수를 다 구하는 3중 for 문을 사용하여 문제를 풀었습니다. 파이썬 코드는 다음과 같습니다. from sys import stdin N, M = map(int, stdin.readline().split()) cards = list(map(int, stdin.readline().split())) result = 0 length = len(cards) for i in range(length): for j in range(i+1, length): for k in range(j+1, length): tmp = cards[i] + cards[j] + cards[k] if M >= tmp > result: result = ..
문제는 위와 같으며 ascending, desceding 변수를 선언하고 주어진 음계 배열에서 앞 음계가 뒤 음계보다 작으면(오름차순) descending 을 false 로 크면(내림차순) ascending 을 false 로 만듭니다. 결과 출력 시 ascending, descending 중 true 인 값을 출력하고 둘다 false 인 경우 mixed 를 출력하도록 구현하였습니다. 파이썬 코드를 보면 다음과 같습니다. from sys import stdin inputs = list(map(int, stdin.readline().split())) ascending = True descending = True for i in range(1, 8): if inputs[i] > inputs[i - 1]: de..
- Total
- Today
- Yesterday
- array
- 조합
- AWS
- Dynamic Programming
- string
- cloudfront
- BFS
- 수학
- CodeDeploy
- spring
- 소수
- Algorithm
- DFS
- ECR
- Combination
- permutation
- 프로그래머스
- search
- map
- sort
- 에라토스테네스의 체
- ionic
- SWIFT
- EC2
- java
- 순열
- programmers
- CodeCommit
- CodePipeline
- Baekjoon
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |