Adventure Time - Jake 'Back-end/백준(python)' 카테고리의 글 목록 (7 Page)
본문 바로가기

Back-end/백준(python)51

[백준/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.
[백준/python] 2738번 행렬 덧셈: 행렬의 크기와 원소 받아 2차원 배열 만들기 n,m=map(int, input().split()) A=[0]*n B=[0]*n for i in range(n): A[i]=list(map(int,input().split())) for i in range(n): B[i]=list(map(int,input().split())) for i in range(n): for j in range(m): print(A[i][j]+B[i][j], end=' ') print() A=[0]*n으로 초기화해 (n,m=3이라고 하면 A=[0, 0, 0]으로 초기화됨) 그리고 받은거를 리스트화해 i번째에 넣어줌 즉 1 1 1 2 2 2 3 3 3 이런식으로 입력받으면, A[[1,1,1], [2,2,2], [3,3,3]] 이렇게 됨 m=4이고 입력이 1 1 1 1 2 2 2 .. 2023. 10. 24.
[백준/python] 25206번 너의 평점은: dictionary 이용 key값 받아 value 얻기 gradeDict = {"A+": 4.5, "A0": 4.0, "B+": 3.5, "B0": 3.0, "C+": 2.5, "C0": 2.0, "D+": 1.5, "D0": 1.0, "F": 0.0} sumofgrade=0.0 creditSum=0.0 for i in range(20): subject, credit, grade =input().split() if grade=='P': continue sumofgrade +=float(credit)*gradeDict[grade] creditSum+=float(credit) GPA=sumofgrade/creditSum print(GPA) credit에 float형 붙여야함. 2023. 10. 24.
[백준/python] 1316: 그룹 단어 체커/ set(), list(dict.fromkeys()) 차이 n=int(input()) #입력받을 단어 개수 arr=[] cnt=0 #그룹단어 개수 저장 for i in range(n): word=input() arr.append(word[0]) #첫번째 알파벳 arr에 추가 for j in range(len(word)-1): if word[j]!=word[j+1]: arr.append(word[j+1]) if list(dict.fromkeys(word))==arr: cnt+=1 arr=[] #arr 초기화 print(cnt) if list(dict.fromkeys(word))==arr: 에서 처음엔 set(word)와 arr를 비교했었는데, set()은 순서 상관 없이 중복을 없애는 함수라서 원하는 결과가 나오지 않았다. 그래서 list(dict.fromkeys.. 2023. 10. 24.