목록Baekjoon (135)
홍우진의 개발 일기장
문제 링크https://www.acmicpc.net/problem/1244 풀이 코드n = int(input())s = list(map(int,input().split()))x = int(input())for i in range(x): sex, num = map(int,input().split()) #성별과 번호를 받는다. if sex == 1: #남자라면 for j in range(num,n+1,num): #번호 배수의 스위치를 바꾼다. s[j-1] = abs(s[j-1]-1) #abs는 절대값. -1을 한 후 절댓값을 씌우면 번호가 바뀜. else: #여자라면 s[num-1] = abs(s[num-1]-1) ..
문제 링크https://www.acmicpc.net/problem/17478풀이 코드def j(n, x): print("____" * x + '"재귀함수가 뭔가요?"') if x == n: print("____" * x + '"재귀함수는 자기 자신을 호출하는 함수라네"') else: print("____" * x + '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.') print("____" * x + "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.") print("____" * x + '그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아..
문제 링크https://www.acmicpc.net/problem/15803풀이 코드p = [list(map(int,input().split())) for x in range(3)]if (p[1][0]-p[0][0]) * (p[2][1]-p[0][1]) - (p[1][1]-p[0][1]) * (p[2][0]-p[0][0]) == 0: print('WHERE IS MY CHICKEN?')else: print('WINNER WINNER CHICKEN DINNER!')코드 해석세개의 값이 일직선상에 놓여있는지 확인하는 방법을 찾아보니 CCW 알고리즘이 있었다.https://degurii.tistory.com/47 [알고리즘] CCW로 세 점의 방향성 판별하기0. 들어가기 전에 첫 알고리즘 포스트입니..

문제 링크https://www.acmicpc.net/problem/17247 풀이 코드x, y = map(int,input().split())doro = [list(map(int, input().split())) for _ in range(x)]#doro 리스트에 받은 값들을 2차원 배열로 저장한다.a = []for i in range(x): for j in range(y): if doro[i][j] == 1: #1이 나온다면 if len(a) == 0: #a에 아무 값도 저장이 되어있지 않다면 a = [i+1,j+1] #a에 할당 else: #a에 이미 값이 있다면 b에 할당..
문제 링크https://www.acmicpc.net/problem/3009 풀이 코드x = []y = []for _ in range(3): a, b = map(int,input().split()) x.append(a) y.append(b)for i in range(3): if x.count(x[i]) == 1: x_dap = x[i] if y.count(y[i]) == 1: y_dap = y[i]print(x_dap, y_dap)코드 해석x 좌표와 y 좌표를 받은 뒤1개씩만 존재하는 수를 출력하면 된다. 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/2566 풀이 코드max = 0row, col = 0, 0su = [list(map(int, input().split())) for _ in range(9)] #9개의 행렬을 모두 받아서 저장for i in range(9): for j in range(9): if max 코드 해석81개의 수를 리스트 컴프리헨션으로 받는다.그 후 돌면서 max 값을 찾는다.max값을 찾으면 좌표를 저장하고 max를 재설정한다. 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/25206풀이 코드tot = 0 #학점 * 과목평점을 담아 둘 변수 hap = 0 #학점의 총합을 담아 둘 변수jum = {'A+':4.5,'A0':4,'B+':3.5,'B0':3,'C+':2.5,'C0':2,'D+':1.5,'D0':1,'F':0}#과목평점을 딕셔너리로 선언for _ in range(20): a,b,c = input().split() if c == "P": #등급이 P 일 경우 넘어가기 continue hap += float(b) #학점의 총합 tot += float(b)*jum[c] #학점 * 과목평점print(tot/hap)코드 해석딕셔너리를 사용하였다.20..
문제 링크 https://www.acmicpc.net/problem/9375 풀이 코드t = int(input())for _ in range(t): n = int(input()) wear = {} for i in range(n): a,b = input().split() #값을 이름과 종류로 나눈다. if b not in wear: #종류가 딕셔너리에 없다면 wear[b] = 1 #종류를 추가한다. else: #만약 있다면 키값을 1 더한다. wear[b] += 1 a = 1 for i in wear: a *= wear[i]+1 #(x 개수 + 1) * (y ..