문제는 위와 같으며 주어지는 N의 범위가 9이하이기 때문에 모든 경우의 수를 다 계산하는 방향으로 풀이를 해 보았습니다. 모든 경우의 수를 얻기 위해 우선 조합 가능한 연산자 리스트를 재귀함수를 사용하여 생성하였고 이후 연산자 하나하나를 숫자 사이에 넣은 뒤 eval 함수를 사용하여 문자열 그대로 계산되도록 하여 결과를 비교하고 그 값이 0이면 숫자와 연산자 조합을 그대로 출력하도록 하였습니다. 파이썬 코드는 다음과 같습니다. from sys import stdin import copy def recursive(array, length): if len(array) == length: operator_list.append(copy.deepcopy(array)) # 깊은 복사를 통해 연산자 리스트를 저장 r..
문제는 위와 같으며 피보나치 수는 대표적인 재귀 문제이기 때문에 처음에 재귀 방식을 사용하였지만 시간 초과가 발생하여 단순히 for 문을 돌면서 문제를 해결하였습니다. 먼저 피보나치 수열을 사용한 파이썬 코드입니다. from sys import stdin def fibonacci(num): if num == 0: return 0 if num == 1: return 1 return fibonacci(num - 1) + fibonacci(num - 2) n = int(stdin.readline()) print(fibonacci(n)) 위 코드는 시간 초과 에러가 발생하기 때문에 for 문을 사용한 파이썬 코드를 보겠습니다. from sys import stdin n = int(stdin.readline())..
문제는 위와 같으며 이 문제의 경우 계수 정렬 알고리즘을 사용하여 해결할 수 있습니다. 계수 정렬(Counting Sort) 알고리즘을 간략하게 살펴보면 배열의 인덱스 값을 특정한 데이터의 값으로 여기는 정렬 방법입니다. 배열의 크기는 데이터를 포함할 수 있도록 설정하고 해당 인덱스의 수가 등장한 횟수를 세는 방식입니다. 이 알고리즘은 주어지는 수는 많지만 수의 범위가 제한적일 때 효율적으로 사용할 수 있습니다. 파이썬 코드를 보면 다음과 같습니다. from sys import stdin n = int(stdin.readline()) nums = [0 for _ in range(10001)] # 배열의 크기는 10001 이고, 0으로 초기화 => [0] * 10001 로 써도 됨 for _ in rang..
문제는 위와 같으며 좌표 데이터를 딕셔너리 형태로 리스트에 담아 기본으로 제공하는 sort 메소드를 통해 문제를 해결하였습니다. 파이썬 코드는 다음과 같습니다. 파이썬의 정렬 함수(sort, sorted) 는 기본적으로 앞 인덱스부터 순서대로 비교하면서 정렬하기 때문에 x 를 기준으로 정렬 후 같으면 y를 기준으로 정렬합니다. 따라서 따로 key 속성을 정의하지 않아도 됩니다. from sys import stdin n = int(stdin.readline()) position = list() for _ in range(n): x, y = map(int, stdin.readline().split()) position.append((x, y)) position.sort() # x 키를 기준으로 정렬 후 같..
문제는 위와 같으며 데이터를 튜플로 저장하고 기본 sort() 메소드를 통해 나이순을 기준으로 정렬하여 문제를 해결하였습니다. 파이썬 코드는 다음과 같습니다. from sys import stdin n = int(stdin.readline()) members = [] for i in range(n): age, name = stdin.readline().split() members.append((int(age), name)) # (나이, 이름) 튜플 타입으로 데이터를 저장 members.sort(key=lambda member: member[0]) # 나이 즉, 저장된 튜플의 0번째 데이터를 기준으로 정렬 for m in members: print(m[0], m[1]) 자바 코드는 다음과 같습니다. 자바의..
- Total
- Today
- Yesterday
- AWS
- CodeDeploy
- java
- ECR
- DFS
- array
- string
- permutation
- Combination
- EC2
- 에라토스테네스의 체
- 조합
- cloudfront
- search
- CodeCommit
- 순열
- 수학
- BFS
- ionic
- 프로그래머스
- spring
- 소수
- programmers
- Baekjoon
- map
- CodePipeline
- Algorithm
- SWIFT
- sort
- Dynamic Programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |