컴퓨터 사이언스(31)
-
파이썬 배열 역순 정렬, 기수 변환하기
배열을 사용하는 기본 알고리즘들 배열 역순으로 정렬하기 from typing import Any, MutableSequence # a의 원소를 역순으로 정렬 def reverse_array(a: MutableSequence) -> None: n = len(a) for i in range(n//2): a[i], a[n-i-1] = a[n-i-1], a[i] if __name__ == '__main__': print('배열 원소를 역순으로 정렬합니다.') nx = int(input('원수의 수를 입력하세요! : ')) x = [None] * nx for i in range(nx): x[i] = int(input(f'x[{i}]값을 입력해주세요. : ')) reverse_array(x) print('역순의 결..
2022.02.05 -
파이썬 배열 원소의 최댓값 구하기
배열을 사용하는 기본 알고리즘들 배열 원소의 최댓값 구하기 a = [13, 41, 45] maximum = a[0] if a[1] > maximum: maximum = a[1] if a[2] > maximum: maximum = a[2] print(maximum) 배열 원소의 최댓값을 구하는 함수 구현하기 from typing import Any, Sequence def max_of(a: Sequence) -> Any: # 시퀀스형 a 원소의 최댓값을 반환 maximum = a[0] for i in range(1, len(a)): if a[i] > maximum: maximum = a[i] return maximum Devide & Conquer from typing import Any, Sequence..
2022.02.04 -
동백 // 백준 파이썬 2750번: 수 정렬하기
수 정렬하기 3 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 5 초 (하단 참고) 8 MB (하단 참고) 139452 31655 23405 23.303% 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 복사 10 5 2 3 1 4 2 3 5 1 7 예제 출력 1 복사 1 1 2 2 3 3 4 5 5 7 내 코드 # 해싱 자료구조를 사용 import sys # 해싱 자료구조를 사용 N = int(sy..
2022.01.10 -
동백 // 백준 파이썬 2750번: 수 정렬하기
수 정렬하기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 106331 60435 41653 58.257% 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 복사 5 5 2 3 4 1 예제 출력 1 복사 1 2 3 4 5 내 코드 N = int(input()) n = [] for i in range(N): n.append(int(input())) n.sort() f..
2022.01.10 -
백준 파이썬 2447: 별찍기 - 10
문제의 핵심 알고리즘 = 재귀함수 도움을 받은 블로그 = https://yeol2.tistory.com/38 백준 #2447: 별찍기 [Python] 접근법 사실 어떤 규칙이 있는지 찾는데도 시간이 오래 걸렸다. 우선 규칙은 예시로 나와있는 출력을 아래와 같이 줄을 그어보면 찾을 수 있다. 크게 3 * 3 형태의 사각형만 주목해서 보다 보면 yeol2.tistory.com 별 찍기 - 10 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 37799 19554 14436 51.685% 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데..
2021.11.01 -
동백 // 백준 파이썬 1436번 영화감독 숌
문제의 핵심 알고리즘 : 부르트포스 알고리즘 영화감독 숌 성공 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 128 MB 44923 19787 16116 44.288% 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위..
2021.11.01