본문 바로가기
알고리즘

코드업 기초 100제

by 딩박사 2023. 4. 1.
반응형

* 본 포스팅은 파이썬의 기초를 배우며 코딩테스트를 준비할 겸 코드업의 기초 100제 문제를 풀어보았고,

후기이자 새로 접한 문법을 기록하기 위하여 내용을 포스팅한다.


 

 

문제집 / Python 기초 100제

 

codeup.kr

 

 

a = input()
n = int(a, 16)
print('%o'% n)

▲ 16진수를 입력받아 8진수로 출력

 

a = ord(input())
print(a)

▲ 유니코드를 10진수로 출력

 

a = int(input())
print(chr(a))

▲ 10진수를 입력받아 유니코드로 출력

 

a = float(input())
print(format(a, ".2f"))

▲ 실수 1개를 입력받아 소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력

 

a = int(input())
print(a<<1)

2배 곱한 정수를 출력

n = 10
print(n<<1)  #10을 2배 한 값인 20 이 출력된다.
print(n>>1)  #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2)  #10을 4배 한 값인 40 이 출력된다.
print(n>>2)  #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.

 

a, b = map(int, input().split())
print(a if (a>b) else b)

두 정수 중 큰 값을 10진수로 출력

 

a, b, c = map(int, input().split())
print((a if a<b else b) if((a if a<b else b) < c) else c)

가장 작은 값을 출력

 

n = int(input(), 16)
for i in range(1, 16):
  print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')

입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력, 계산 결과도 16진수로 출력

 


 

🤣 문제를 풀다가 등차수열 등비수열에 관한 문제가 나왔다...

컴퓨터를 상대로 하나하나 계산하면 그만이었지만 나는 일반항을 직접 구하기 위하여 노력하였다... 풀이를 보고는 허탈함을 느끼는 시간이었다...

a, b, c = map(int, input().split())
print(b*c-(b-a))

 시작 값(a), 등차의 값(d), 몇 번째 수 인지를 의미하는 정수(n)가 공백을 두고 입력(모두 0 ~ 100) n값 구하기

(내가 푼 문제의 정답)

 

a,d,n=input().split()

a=int(a)
d=int(d)
n=int(n)

s=a
for i in range(2, n+1):
   s+=d

print(s)

(해설의 정답)

 

a, b, c = map(int, input().split())
print(b**(c-1)*a)

시작 값(a), 등비의 값(r), 몇 번째 인지를 나타내는 정수(n)가 공백을 두고 입력(모두 0 ~ 10) n값 구하기

(내가 푼 문제의 정답)

 

a, r, n = input().split()

a = int(a)
r = int(r)
n = int(n)

for i in range(1, n) :
  a = a*r

print(a)

(해설의 정답)

 

 

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

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()

바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력
둘째 줄 부터 n+1 번째 줄까지 흰 돌을 놓을 좌표(x, y)가 n줄 입력
n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 똑같은 좌표는 입력되지 않는다.

흰 돌이 올려진 바둑판의 상황을 출력
흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력

 

 

d = []
for _ in range(10):
  a = input().split()
  d.append(a)

for i in range(10):
  for j in range(10):
    d[i][j] = int(d[i][j])

x, y = 2, 2

while True:
  d[x-1][y-1] = 9
  y += 1
  if d[x-1][y-1] == 1:
    y -= 1
    x += 1
    if d[x-1][y-1] == 1:
      break
    elif d[x-1][y-1] == 2:
      d[x-1][y-1] = 9
      break
  elif d[x-1][y-1] == 2:
    d[x-1][y-1] = 9
    break

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

미로 상자에 넣은 개미는 먹이를 찾았거나, 더 이상 움직일 수 없을 때까지 오른쪽 또는 아래쪽으로만 움직인다.
미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자.
단, 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더 이상 이동하지 않고 그곳에 머무른다고 가정
미로 상자의 테두리는 모두 벽으로 되어 있으며, 개미집은 반드시 (2, 2)에 존재하기 때문에 개미는 (2, 2)에서 출발한다.

 

 

 

 

결론

한 문제 한 문제 풀어가는 게 재밌었고, 새로운 개념을 알게 되는 계기도 되었다. 기초 100제이다 보니 여기서 그치지 말고 더 어려운 문제를 풀어보도록 노력해야겠다.

반응형

댓글