Adventure Time - Jake bogyoi's Dev note
본문 바로가기

전체 글94

[백준/python] 1978 소수찾기: import sys arr=[] n=int(sys.stdin.readline()) arr=list(map(int, sys.stdin.readline().split())) cnt=0 for i in arr: if i==1: #1은 소수가 아님 continue elif i==2: #2는 소수임 cnt+=1 else: for j in range(2,i): if i%j==0: #딱 나눠떨어지는 수가 하나라도 있으면 소수가 아님 break if j==i-1: #for-loop를 다 도는동안 딱 나눠떨어지는 수가 없었다면(즉, 약수가 없다) 소수임 cnt+=1 print(cnt) #소수 개수 출력 처음에 작성한 코드이다. 그런데 i의 모든 약수는 i/2보다 작다. 고로 2부터 i-1까지 확인할 필요가 없다는 뜻. .. 2023. 10. 25.
[백준/python] 9506 약수들의 합: print()의 sep옵션, 언패킹(unpacking, *) / join기능 import sys while(1): arr=[] n=int(sys.stdin.readline()) if n==-1: break for i in range(1, n): #자신을 제외한 약수이므로 i의 범위는 n-1까지 if n%i==0: arr.append(i) if sum(arr)==n: ################### print(n,'=',end=' ') print(*arr, sep=' + ') else: print(n, 'is NOT perfect.') 다른 코드 짜는 것들은 쉬웠는데 완전수일떄의 약수들의 합을 출력하는 포맷을 어떻게 해야할지 어려웠음. print() 안에서 for-loop을 짜야하나..?? 라는 고민도 했음( arr[0], arr[1],..이런식으로 for루프를 돌며 arr의 .. 2023. 10. 25.
[백준/python] 2501 약수 구하기: import sys n, k= map(int, sys.stdin.readline().split()) arr=[] for i in range(1,n+1): if (n%i==0): arr.append(i) if len(arr) 2023. 10. 25.
[백준/python] 2563 색종이: 정사각형 넓이 구하기/ 얕은 복사에 대하여 import sys x = int(sys.stdin.readline()) #paper = [[0]*101 for i in range(101)] paper=[[0 for j in range(100)] for i in range(100)] for _ in range(x): a,b = map(int,input().split()) for i in range(10): for j in range(10): paper[a+i][b+j] = 1 r = 0 for i in paper: r += sum(i) print(r) 100 x 100의 2차원 배열의 원소를 모두 0으로 하여 만들어준다. 변길이 10cm인 정사각형이므로 이중 for-loop의 i, j는 해당 지점으로부터 10의 범위까지의 부분들을 모두 1로 바꾸어준다.. 2023. 10. 24.
[백준/python] 10798번 세로 읽기: arr=[input() for i in range(5)] for j in range(15): for i in range(5): if j 2023. 10. 24.
[백준/python] 2566번 최댓값: 2차원 행렬에서 최댓값 찾고 해당 위치(행,열) 출력/ max(map(max, arr)) arr=[0]*9 for i in range(9): arr[i]=list(map(int, input().split())) for i in range(9): for j in range(9): if arr[i][j]==max(map(max, arr)): a,b=i+1,j+1 print(max(map(max, arr)), a,b) max(map(max, arr)) 를 통해 2차원 리스트에서 최댓값을 찾게 했다. 인덱스를 구하기위해 2중 for-loop를 돌면서 최댓값을 발견하게 되면 그 자리의 위치(i,j)를 받아 출력하게함. 파이썬에서 인덱스의 위치를 반환해주는 index() 함수가 있는데, 2차원 리스트에서는 위와 같이 for-loop를 사용해 일일히 비교를 하거나, List comprehension를 사.. 2023. 10. 24.