Development Project

[ CodeUp 기초 100제 - Python(05/24) ] 6091 ~ 6098 본문

CodingTest/CodeUp

[ CodeUp 기초 100제 - Python(05/24) ] 6091 ~ 6098

나를 위한 시간 2022. 5. 24. 23:53
  • 6091 : [기초-종합] 함께 문제 푸는 날(설명)(py) - 같은 날 동시에 가입한 인원 3명의 방문 주기가 공백을 두고 입력되면, 3명이 다시 모두 함께 방문해 문제를 풀어보는 날을 출력하라
a,b,c = input().split()
a=int(a)
b=int(b)
c=int(c)
i=2
multiply = 1
while i<=a or i<=b or i<=c:
    if a%i==0 and b%i==0:
        a=a//i
        b=b//i
        if c%i==0:
            c=c//i
        multiply *= i
    if b%i==0 and c%i==0:
        b=b//i
        c=c//i
        if a%i==0:
            a=a//i
        multiply *= i
    if a%i==0 and c%i==0:
        a=a//i
        c=c//i
        if b%i==0:
            b=b//i
        multiply *= i
    i+=1
print(multiply*a*b*c)
#
a,b,c = input().split()
a=int(a)
b=int(b)
c=int(c)
d = 1
while d%a!=0 or d%b!=0 or d%c!=0 :
    d += 1
print(d)

 

 

 

  • 6092 : [기초-리스트] 이상한 출석 번호 부르기1(설명)(py) - 첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력(1 ~ 10000)되고 두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력될 때, 1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한 줄로 출력하라
numberOf = int(input())
str = input().split(" ")
arr=[]
for i in range(1,24): # 1번부터 기준
    cnt = 0
    for k in str[0:numberOf]: #부르신 출석번호
        if i==int(k):
            cnt+=1
    arr.append(cnt)
for i in arr:
    print(i, end=" ")
#
n = int(input())    
a = input().split() 
for i in range(n) :
    a[i] = int(a[i])  
d = []                     
for i in range(24) :  
    d.append(0)        
for i in range(n) :  
    d[a[i]] += 1
for i in range(1, 24) : 
    print(d[i], end=' ')

 

 

 

  • 6093 : [기초-리스트] 이상한 출석 번호 부르기2(py) - 첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력(1 ~ 10000)되고 두 번째 줄에는 n개의 랜덤 번호(k, 1 ~ 23)가 두 번째 줄에 공백을 사이에 두고 순서대로 입력될 때, 출석을 부른 번호 순서를 바꾸어 공백을 두고 출력하라
numberOf = int(input())
arr = input().split()
for i in range(int(numberOf/2)):
    temp = arr[i]
    arr[i] = arr[len(arr)-i-1]
    arr[len(arr) - i-1] = temp
cnt=0
for j in arr:
    print(j, end="")
    cnt+=1
    if cnt!=numberOf:
        print(" ", end="")
#
numberOf = int(input())
arr = input().split()
for i in range(numberOf-1, -1, -1) :
    print(arr[i], end=' ')

 

 

 

  • 6094 : [기초-리스트] 이상한 출석 번호 부르기3(py) - 첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력(1 ~ 10000)되고 두 번째 줄에는 n개의 랜덤 번호(k)가 두 번째 줄에 공백을 사이에 두고 순서대로 입력될 때, 출석을 부른 번호 중에 가장 빠른 번호를 출력하라
numberOf = int(input())
arr = input().split()
for i in range(numberOf):
  arr[i] = int(arr[i])

min = arr[0]
for j in range(numberOf):
  if min>arr[j]:
    min = arr[j]
print(min)
#
numberOf = int(input())
arr = input().split()
for i in range(numberOf):
    arr[i] = int(arr[i])
print(min(arr))

 

 

 

  • 6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py) - 바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력되고, 둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력될 때, 흰 돌이 올려진 바둑판의 상황을 출력하는데 흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력하라
numberOf = int(input())
arr=[]
for i in range(numberOf):
    str = input().split()
    for j in range(2):
        str[j] = int(str[j])
    arr.append(str)

for i in range(1, 20):
    for j in range(1, 20):
        for k in range(numberOf):
        if arr[k][0]==i and arr[k][1]==j:
            print(1, end=" ")
            break
        elif k==numberOf-1:
            print(0, end=" ")
    print()
#
d=[]
for i in range(20) :
    d.append([])         
    for j in range(20) : 
        d[i].append(0)   

n = int(input())
for i in range(n) :
    x, y = input().split()
    d[int(x)][int(y)] = 1

for i in range(1, 20) :
    for j in range(1, 20) : 
        print(d[i][j], end=' ')    
    print()

 

 

  • 6096 : [기초-리스트] 바둑알 십자 뒤집기(py) - 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력되고 십자 뒤집기 횟수(n)가 입력되면, 십자 뒤집기 결과를 출력하라
arrAll=[]
for i in range(19):
  arrAll_= input().split()
  for j in range(19):
    arrAll_[j] = int(arrAll_[j])
  arrAll.append(arrAll_)

arr=[]
numberOf = int(input())
for i in range(numberOf):
  arr_=input().split()
  for j in range(2):
    arr_[j] = int(arr_[j])-1
  arr.append(arr_)

for i in range(19):
  for j in range(19):
    for k in arr:
      if k[0]==i and k[1]==j:
        for l in range(19):
          arrAll[i][l] = 1-arrAll[i][l]
        for m in range(19):
          arrAll[m][j] = 1-arrAll[m][j]

for i in range(19):
  for j in range(19):
    print(arrAll[i][j], end=" ")
  print()
  #
  d=[[0 for i in range(19)]for j in range(19)]
for i in range(19):
  d[i] = list(map(int, input().split()))

n=int(input())
for i in range(n) :
  x,y=input().split()
  for j in range(19) :
    if d[j][int(y)-1]==0 :
      d[j][int(y)-1]=1
    else :
      d[j][int(y)-1]=0

    if d[int(x)-1][j]==0 :
      d[int(x)-1][j]=1
    else :
      d[int(x)-1][j]=0
          
for i in range(19):
  for j in range(19):
    print(d[i][j], end=" ")
  print()

 

 

 

  • 6097 : [기초-리스트] 설탕과자 뽑기(py) - 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 줄에 놓을 수 있는 막대의 개수(n) 세 번째 줄부터 각 막대의 길이(l), 방향(d), 좌표(x, y)가 입력될 때, 모든 막대를 놓은 격자판의 상태를 출력하되 막대에 의해 가려진 경우 1, 아닌 경우 0으로 출력하라
width, length = map(int, input().split())
numberOf = int(input())
blockArr=[0 for i in range(numberOf)]
for i in range(numberOf):
    blockArr[i] =list(map(int, input().split()))

allArr = [[0 for i in range(length)] for j in range(width)]
for i in range(numberOf): #0, 1, 2
    for j in range(blockArr[i][0]):
        if blockArr[i][1] == 0: #가로일때
            allArr[blockArr[i][2]-1][blockArr[i][3]+j-1] = 1
        elif blockArr[i][1] == 1:
            allArr[blockArr[i][2]+j-1][blockArr[i][3]-1] = 1

for i in range(width):
    for j in range(length):
        print(allArr[i][j], end=" ")
    print()

 

 

 

  • 6098 : [기초-리스트] 성실한 개미(py) - 10*10 크기의 미로 상자의 구조와 먹이의 위치가 입력되면, 성실한 개미가 이동한 경로를 9로 표시해 출력하라
map_arr = [0 for i in range(10) for j in range(10)]
for i in range(10):
  map_arr[i] = list(map(int, input().split()))

nextX=1
nextY=1
cnt=0
while True:
  map_arr[nextX][nextY]=9
  if map_arr[nextX][nextY+1]==1:  # 오른쪽이 막혀있다면
    if map_arr[nextX+1][nextY] == 2:
      map_arr[nextX+1][nextY] = 9
      break
    if map_arr[nextX+1][nextY]==1:
      break;
    else:
      nextX+=1
  elif map_arr[nextX][nextY+1] == 2:
    map_arr[nextX][nextY+1] = 9
    break
  else:
    nextY+=1
  if cnt >19:
    break
  cnt+=1

for i in range(10):
  for j in range(10):
    print(map_arr[i][j], end=" ")
  print()

 

 

 

=> 이렇게 CodeUp 파이썬 기초 100제(98문제였지만)을 풀수있었다! 비록 기초적인 문제지만 생각보다 버거웠고 좀더 열심히 해야겠다는 마음가짐이 생겼다~

 

 

 

뿌듯해서 넣은 증명사진~

 

Comments