6091 ~ 6098 코드업 기초 100제 (py)

2023. 6. 24. 17:14Programming Language/문제

728x90

6091 : [기초-종합] 함께 문제 푸는 날(설명)(py)

a,b,c = map(int, input().split())
d = 1
while d%a!=0 or d%b!=0 or d%c!=0 :
  d += 1
print(d)

6092 : [기초-리스트] 이상한 출석 번호 부르기1(설명)(py)

n = int(input())      #개수를 입력받아 n에 정수로 저장
a = input().split()  #공백을 기준으로 잘라 a에 순서대로 저장

for i in range(n) :  #0부터 n-1까지...
  a[i] = int(a[i])       #a에 순서대로 저장되어있는 각 값을 정수로 변환해 다시 저장

d = []                     #d라는 이름의 빈 리스트 [ ] 변수를 만듦. 대괄호 기호 [  ] 를 사용한다.
for i in range(24) :  #[0, 0, 0, ... , 0, 0, 0] 과 같이 24개의 정수 값 0을 추가해 넣음
  d.append(0)        #각 값은 d[0], d[1], d[2], ... , d[22], d[23] 으로 값을 읽고 저장할 수 있음.

for i in range(n) :    #번호를 부를 때마다, 그 번호에 대한 카운트 1씩 증가
  d[a[i]] += 1

for i in range(1, 24) :  #카운트한 값을 공백을 두고 출력
  print(d[i], end=' ')
  """
  참고
- d = []              #어떤 데이터 목록(list) 을 순서대로 저장하기 위해 아무것도 없는 리스트 변수 만들기
- d.append(값)  #d 리스트의 마지막에 원하는 값을 추가(append)해 넣음 
- d[a[i]] += 1     #2중 리스트 참조 : 만약 a[i]의 값이 1이었다면? d[1] += 1 이 실행되는 것이다. 1번 카운트 1개 증가..

어떤 값을 기록했다가 다시 사용할 필요가 있을 때, 필요한 변수(variable)를 만들어 사용하는 것처럼,
여러 개의 값을 하나로 묶어 목록으로 기록했다가 다시 사용할 필요가 있을 때, 리스트(list)를 만들어 사용할 수 있다.
리스트는 변수들을 모아 놓은 변수라고 생각할 수도 있고, 참조번호를 이용해 간단하고 편리하게 사용할 수 있다.
"""

6093 : [기초-리스트] 이상한 출석 번호 부르기2(py)

n = int(input())
a = input().split()

for i in range (n):
    a[i] = int(a[i])

for i in range (n-1, -1, -1):
    print(a[i],end = ' ')

6094 : [기초-리스트] 이상한 출석 번호 부르기3(py)

n = int(input())
a = list(map(int, input().split()))

d = a[0]
for i in range(1, n):
    if a[i] < d:
        d = a[i]

print(d)
"""
a를 리스트로 변환하기 위해 map(int, input().split()) 대신 list(map(int, input().split()))를 사용.

range(n+1) 대신 range(1, n)을 사용하여 0번째 요소를 비교하지 않고 1부터 n-1까지의 요소만 비교하도록 수정.

if(d > a[i]) 대신 if a[i] < d로 수정하여 더 작은 값을 찾도록 조건을 변경.
이렇게 수정하면 가장 작은 값을 찾을 수 있다.

반복문의 범위를 n까지가 아닌 n-1까지로 수정하여 인덱스 오류를 방지.
"""

6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)

d=[]                        #대괄호 [ ] 를 이용해 아무것도 없는 빈 리스트 만들기
for i in range(20) :
  d.append([])         #리스트 안에 다른 리스트 추가해 넣기
  for j in range(20) : 
    d[i].append(0)    #리스트 안에 들어있는 리스트 안에 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))

d=[]
for i in range(20) :
  d.append([])
  for j in range(20) : 
    d[i].append(0)

for i in range(19) :
  a = input().split()
  for j in range(19) :
    d[i+1][j+1] = int(a[j])

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

    if d[x][j]==0 :
      d[x][j]=1
    else :
      d[x][j]=0

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

6097 : [기초-리스트] 설탕과자 뽑기(py)

h,w = input().split()
h = int(h)
w = int(w)

m = []
for i in range(h+1) :
  m.append([])
  for j in range(w+1) :
    m[i].append(0)

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

for i in range(1, h+1) :
  for j in range(1, w+1) :
    print(m[i][j], end=' ')
  print()

6098 : [기초-리스트] 성실한 개미(py)

m=[]
for i in range(12) :
  m.append([])
  for j in range(12) :
    m[i].append(0)

for i in range(10) :
  a=input().split()
  for j in range(10) :
    m[i+1][j+1]=int(a[j])

x = 2
y = 2
while True :
  if m[x][y] == 0 :
    m[x][y] = 9
  elif m[x][y] == 2 :
    m[x][y] = 9
    break

  if (m[x][y+1]==1 and m[x+1][y]==1) or (x==9 and y==9) :
    break

  if m[x][y+1] != 1 :
    y += 1
  elif m[x+1][y] != 1 :
    x += 1
    

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