-
[Python 알고리즘]백준 11653번, 2903번Python 알고리즘 2023. 9. 5. 00:05
11653번
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
N = int(input()) a=2 while N != 1: if N/a == N//a: N = N//a print(a) else: a = a+1
2903번
https://www.acmicpc.net/problem/2903
2903번: 중앙 이동 알고리즘
상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다.
www.acmicpc.net
접근:
N = int(input()) a=1 for i in range(N): a = a*2 a = a+1 print(a*a)
10811번
https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
N, M = input().split() N = int(N) M = int(M) a = list(range(1,N+1)) for x in range(M): i,j = input().split() i = int(i) - 1 j = int(j) - 1 a[i:j+1] = reversed(a[i:j+1]) for x in range(N): print(a[x], end=' ')
아이디어:
1 2 3 4 5
2 1 3 4 5
2 1 4 3 5
3 4 1 2 5
일단 N M 입력받기
N만큼 리스트 만들기
M만큼 반복문 돌려서 i, j 입력받고
반복문 안에서 역수 취하기
10809번
https://www.acmicpc.net/problem/10809
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
아이디어:
- 단어 S입력받기
- S를 리스트의 형태로 변환(자동인가??)
- for문을 사용해서 i를 알파벳 a부터 돌림
- for문 돌다가 i에 해당하는 알파벳 찾으면 스탑. 위치 출력
- 끝까지 안나오면 -1 출력
- 출력할때 end 주의
주의: for문의 range 주의
S = input() s = list(S) for i in range(97,123): for j in range(len(s)): if chr(i) == s[j]: print(j, end=" ") break elif chr(i) != s[j] and j==len(s)-1: print(-1, end=" ")
'Python 알고리즘' 카테고리의 다른 글
[알고리즘]백준 1076번 (0) 2023.09.26 [python 알고리즘]백준 1546번(map 함수)/10798번(값이 존재한다면, split로 리스트 만들기, 이중 리스트) (0) 2023.09.18 [Python 알고리즘]python 기본 문법 (0) 2023.09.05