2022. 9. 16. 07:15ㆍ백준 문제 풀이/파이썬
1)2557 ( ㅇ )
>정답
print("hello world!")
2)10718 ( ㅇ )
>정답
print("강한친구 대한육군")
print("강한친구 대한육군")
3)1000 ( x )
>오답
a =int(input())
b =int(input())
print(a+b)
-백준 : 런타임에러
-파이참 : ValueError: invalid literal for int() with base 10: '1 2'
▶굳이 쪼개서 쓸필요 없다.
>정답(구글링)
A,B = input().split()
print(int(A)+int(B))
▶굳이 A,B에 int 안해줘도 되는이유는 애초에 숫자로 받기 때문이다(?)
+)1001, 10998, 1008 10869은 같은 맥락의 문제다. print 안의 수식에 연산기호만 바꿔주면 정답.
4) 10926( ㅇ )
>오답
a=input()
print("a"+"??!")
▶a를 대입해야하는데 "a" 가 되어서 a??! 라고 출력됨.
>정답(self)
a=input()
print(a+"??!")
5)18108( ㅇ )
>정답
a=int(input())
print(a-543)
▶입력값은 정수여야해서 int(inupt())을 해준다.
좀 더 컴퓨터 적인 답변은 다음과 같다.
Number = int(input())
Result = Number - 543
print(Result)
6)3003 ( x )
>오답
손도 못댐
>정답(권기현 튜터님 강의)
가)단순 수식
#입력값 받기 (각자 종목별 값)
k, q, r, b, kn, p = map(int,input().split())
#킹은 1개만 필요, 그렇다면 1 - k 해주면 추가로 필요하거나 남는 개수가 나옴.
k = 1 - k
q = 1 - q
r = 2 - r
b = 2 - b
kn = 2 - kn
p = 8 - p
print(k, q, r, b, kn, p)
나)for문과 list 활용
#있어야 하는 체스말의 수
chess_pieces = [1, 1, 2, 2, 2, 8]
#내가 가지고 있는 체스말의 수
my_pieces = list(map(int,input().split()))
for i in range(6):
print(chess_pieces[i]-my_pieces[i], end=' ')
+) print 마지막에 end = ' ' 해주고 ''안에 한칸 띄우면 옆으로 숫자가 병렬됨. 만약 아무것도 없으면 아래로 나열되고 두칸을 띄우고 싶을 때는 /n/n 해주면됨. ''를 붙여쓰면 다음 것과 붙은 채로 결과값이 출력됨.
7)10430 ( ㅇ )
>오답
A,B,C=map(int,input().split)
print((A+B)%C)
print(((A%C) + (B%C))%C)
print((A*B)%C)
print(((A%C) * (B%C))%C)
▶split뒤에 () 안써줬음.
>정답
A,B,C=map(int,input().split())
print((A+B)%C)
print(((A%C) + (B%C))%C)
print((A*B)%C)
print(((A%C) * (B%C))%C)
8)2588( x )
>오답
손도 못댐.
>정답(구글링)
#1 문자열 이용한 풀이(반복문 x)
a = int(input())
b=input()
print(a*int(b[2]))
print(a*int(b[1]))
print(a*int(b[0]))
print(a*int(b))
#2 문자열 이용한 풀이(반복문 o)
a = int(input())
b = input()
for i in range(3, 0, -1) : #range ->3부터 0까지 1씩 빼주면서 하나씩 찍기(3은 포함 안함.)
print(a * int(b[i-1]))
print(a * int(b))
#아래와 같이 써줘도 가능
#for i in range(2, -1, -1) :
#print(a*int(b[i,1]))
#3 산술 연산자를 이용한 풀이
a=int(input())
b=int(input())
print(a*(b%10))
print(a*(b%100//10))
print(a*(b%10//100))
print(a*b)
▶산술연산자.. 마법.. b가 385aus b%10은 385를 10으로 나눈 나머지, 즉 5.
b%100//10 하면 385를 100으로 나눈 나머지는 85, 85를 다시 10으로 나누면 몫은 8(여기서 //는 몫을 구하는것)
b//100은 385를 100으로 나누면 몫은 3
9)10171 ( ㅇ )
>오답
print(\ /\)
print( ) ( '))
print(( / ))
print( \(__)|)
▶쌍따옴표 안써줌.. 문자열에는 쌍따옴표를 쓰자. + 역슬래쉬는 한번 더 써주기.
>정답
print("\\ /\\")
print(" ) ( ')")
print("( / )")
print(" \\(__)|")
+)10172, 25083 도 같은 맥락이다.
단, 25083 에서는 \\유의해줘야하고 "출력을 위해서는 \"를 사용해줘야 한다. 작은따옴표도 \' 해줘야 한다.
print(" ,r'\"7")
print("r`-_ ,' ,/")
print(" \\. \". L_r'")
print(" `~\\/")
print(" |")
print(" |")
'백준 문제 풀이 > 파이썬' 카테고리의 다른 글
| [백준문제풀이] 3단계_반복문 (1) | 2022.09.20 |
|---|---|
| [백준 문제풀이/파이썬] 2단계_조건문 (0) | 2022.09.16 |
| [백준문제풀이/파이썬] 4단계_1차원배열 (0) | 2022.09.15 |
| [백준파이썬] 7단계_기본 수학 1 (0) | 2022.09.14 |