728x90
반응형

코드업 34

[코드업][그리디][파이썬] 3120. 리모컨

🙆‍♂️문제 🙋‍♂️풀이 그리디 알고리즘을 사용하기 좋은 문제입니다. 온도를 변경하기 위한 최소 횟수를 구하는 것입니다. #입력 받기 a,b=map(int, input().split()) cnt = 0 #경우의 수 분류 arr1=[1,5] arr2=[2,4,6,9] arr3=[3,7,8] minus=abs(b-a) div = minus//10 mdl = minus%10 cnt += div if mdl in arr1: cnt+=1 elif mdl in arr2: cnt+=2 elif mdl in arr3: cnt+=3 print(cnt) 먼저는 생각할 수 있는 것이 움직여야 하는 온도를 10을 나눴을 때 몫으로 10도 위아래 움직이는 것을 생각할 수 있습니다. 그것이 div에 저장되고 이제 5도 움직이는 ..

[코드업][그리디][파이썬] 2001. 최소대금

🙆‍♂️문제 🙋‍♂️풀이 파이썬에선 그리디 문제를 풀기 쉽습니다.(아마도) 아무튼 이번건 쉽습니다. 파스타 가격과 쥬스 가격을 따로 배열들에 저장해놓고 찾을 것입니다. pasta = [int(input()) for _ in range(3)] juice = [int(input()) for _ in range(2)] mini = min(pasta)+min(juice) print(mini+mini/100*10) min함수를 이용해서 쉽게 최소 값을 찾아서 값을 구했습니다.

[코드업][기초 100제][파이썬] 6098. 성실한 개미

🙆‍♂️문제 🙋‍♂️풀이 먼저 10*10 미로를 입력받습니다. maze=[list(map(int, input().split())) for _ in range(10)] 그리고 조건문을 통해서 어떻게 해야 할지 결정합니다. 최종코드는 이렇습니다. #미로 입력 maze=[list(map(int, input().split())) for _ in range(10)] #출발좌표 설정 x=1;y=1 #최종지에 도착할 때 까지 반복 while 1: #우측이 0인경우 지금 위치 9로 바꾸고 우로 이동 if maze[x][y+1]==0: maze[x][y]=9 y+=1 #우측이 1인 경우 elif maze[x][y+1] == 1: #밑에도 1인경우 지금 위치 9로 바꾸고 종료 if maze[x+1][y] == 1: maz..

[코드업][기초 100제][파이썬] 6097. 설탕과자 뽑기

🙆‍♂️문제 🙋‍♂️풀이 입력을 보니 먼저 격자판 구격에 대해서 입력받습니다. a,b = map(int, input().split()) pan=[] for i in range(a): pan.append([]) for j in range(b): pan[i].append(0) 그리고 막대기 길이와 좌표에 대해 입력받는 값들을 2차원 리스트로 정렬합니다. n=int(input()) stick=[list(map(int, input().split())) for _ in range(n)] 4개의 숫자가 입력되는데 막대의 길이, 방향, 좌표가 입력됩니다. 방향은 0은 가로 1은 세로를 뜻합니다. for i in range(n): if stick[i][1] == 0: for j in range(0,stick[i][0]..

카테고리 없음 2022.07.13

[코드업][기초 100제][파이썬] 6096. 바둑알 십자 뒤집기

🙆‍♂️문제 🙋‍♂️풀이 이번에는 바둑판을 입력받습니다. b=[list(map(int, input().split())) for _ in range(19)] 바둑판은 이렇게 2차원 리스트로 입력받았습니다. n=int(input()) arr=[list(map(int, input().split())) for _ in range(n)] 그리고 뒤집을 값들을 입력받고 for i in range(n): x = arr[i][0]-1 y = arr[i][1]-1 for j in range(19): if b[x][j] == 0: b[x][j]=1 else: b[x][j]=0 for j in range(19): if b[j][y]==0: b[j][y]=1 else: b[j][y]=0 그 부분을 뒤집어 주면 됩니다. #바둑..

[코드업][기초 100제][파이썬]6095. 바둑판에 흰 돌 놓기

🙆‍♂️문제 🙋‍♂️풀이 문제를 정리해보면 19*19의 바둑돌 판이 있고 흰돌이 놓인 위치는 1 아닌 위치는 0으로 출력해야한다. 먼저 0으로 도배된 19*19 판을 만들어야 한다. b=[] for i in range(19): b.append([]) for j in range(19): b[i].append(0) for i in range(19): for j in b[i]: print(j, end=" ") print() 이렇게 0으로 채워진 바둑판을 만들었고 이제 해당 칸에만 1로 바꿔주면 됩니다. n=int(input()) arr=[list(map(int, input().split())) for _ in range(n)] for i in range(n): x = arr[i][0]-1 y = arr[i][..

[코드업][기초 100제][파이썬] 6084. 소리 파일 저장 용량 계산하기

🙆‍♂️문제 🙋‍♂️풀이 입력값이 h, b, c, s가 있다. h는 1초 동안 마이크로 소리 강약을 체크하는 횟수 b는 한 번 체크한 값을 저장할 때 사용하는 비트 수 c는 좌우 등 소리를 저장할 트랙 개수인 채널 개수 (모노는 1, 스테레오는 2) s는 녹음할 시간 입니다. 공식은 그냥 다 곱하는 것입니다. h*b*c*s 그런데 이제 이건 bit단위고 MB(메가 바이트) 단위를 구사해야 하기 때문에 8을 나누고(바이트) 1024를 나누고(킬로 바이트) 1024를 나누면(메가 바이트) 메가 바이트 값을 구할 수 있습니다. h,b,c,s = map(int, input().split()) re=h*b*c*s/8/1024/1024 print(format(re,".1f"),"MB") 소수점 둘째자리에서 반올림하..

[코드업][기초 100제][파이썬] 6082. 3,6,9 게임

🙆‍♂️문제 🙋‍♂️풀이 a=int(input()) game=[3,6,9] for i in range(1,a+1): if i%10 in game: print("X", end=" ") else: print(i,end=" ") game이라는 리스트를 만들어서 3,6,9 값을 넣고 10으로 나눴을 때 나머지! 즉 1의 자리 숫자가 3,6,9 중 하나인지 검사해서 맞다면 X를 출력 아니면 숫자를 출력하도록 했습니다. if 값 in 배열[] 을 통해서 값이 배열에 있나 확인하는 방법이 있습니다.

728x90
반응형