no image
[Python] 백준 2588번 곱셈 문제풀이 (브론즈III)
문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. 조건 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 예제 입력 472 385 예제 출력 2360 3776 1416 181720 문제 풀이 A = int(input()) B = input() BList=list(B) BList.reverse() for i in range(3): print(A * int(BList[i])) p..
2023.09.27
[Python] 백준 10430번 나머지 문제풀이 (브론즈V)
문제 (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) 조건 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다. 예제 입력 5 8 4 예제 출력 1 1 0 0 문제 풀이 A, B, C = map(int, input().split()) a = (A + B) % C b = ((A % C) + (B % C)) % C c = (A * B) % C d = ((A % ..
2023.09.26
[Python] 백준 18108번 1998년생인~ 문제풀이 (브론즈V)
문제 ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오. 입력 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000) 조건 불기 연도를 서기 연도로 변환한 결과를 출력한다. 예제 입력 2541 예제 출력 1998 문제 풀이 print(int(input())-543) 먼저 숫자만 입력할 수 있도록 input을..
2023.09.25
[Python] 백준 10926번 ??! 문제풀이 (브론즈V)
문제 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다. 조건 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다. 예제입력 joonas 예제출력 joonas??! 문제 풀이 print(input(),"??!",sep="") 해당 문제에서는 리스트같은 것을 만들어 비교하는 것이 아닌 바로 출력하라고 했기 때문에 입력한 것에 바로 "??!"를..
2023.09.24
[Python] 백준 10862번 사칙연산 문제풀이 (브론즈V)
문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 입력 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000) 조건 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다. 문제 풀이 A, B = map(int, input().split()) a = A + B # 덧셈 b = A - B # 뺄셈 c = A * B # 곱셈 d = A / B # 나눗셈 e = A % B # 나머지 # 다른 사칙 연산 f = A // B # 몫만 출력(3 // 2 == 1) print(a,b,c,d,e, sep='\n') 한 줄, 한 줄 print 문항을 써 출력을 할 수도 ..
2023.09.23
[Python] 백준 1001번 A-B 문제풀이
문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 조건 첫째 줄에 A-B를 출력한다. 문제 풀이 A, B = map(int,input().split()) print(A-B) 이전 A+B의 설명과 동일 합니다. map 함수는 주로 리스트, 튜플, 문자열 등과 같은 반복 가능한(iterable) 객체의 모든 요소에 동일한 함수를 적용하고 그 결과를 새로운 iterable로 반환하는 역할을 합니다. 이 함수는 map(각 요소에 지정할 함수, 요소, ...)로 작성이 가능하고 위 문제에서는 다음과 같이 풀이할 수 있습니다. 입력한(input) 것을 분리(split)하여 숫자열(int)로 지정(map)할 것입니다. ..
2023.09.23
반응형

문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

 

조건

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

 

예제 입력

472
385

예제 출력

2360
3776
1416
181720

 

문제 풀이

A = int(input())
B = input()

BList=list(B)
BList.reverse()

for i in range(3):
    print(A * int(BList[i]))
print(A*int(B))

input을 사용해 입력을 하게되면 항상 문자열로 입력이 됩니다. 때문에 A는 int를 미리 적용시켜주었습니다. 하지만 B를 자리수로 나눠 넣기 위해서는 문자열이어야 함으로 int를 적용시키지 않았습니다.

 

for를 통해 앞 번호부터 곱셈을 진행하므로 리스트를 뒤집어 주었습니다.

BList = ["3", "8", "5"]
BList.reverse()
BList = ["5", "8", "3"]

이를 통해 (3), (4), (5)를 차례로 출력하고 전체 곱인 (6)을 출력했습니다. 다른 방법으로 reverse를 사용하지 않고 BList[3-i]로 구현할 수도 있습니다.

 

이해가 되지 않는 부분은 댓글 남겨주시면 답변해드리겠습니다 :)

 

문제 페이지

https://www.acmicpc.net/problem/2588

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

 

반응형
반응형

문제

(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?

(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?

세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

 

조건

첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.

 

예제 입력

5 8 4

예제 출력

1
1
0
0

 

문제 풀이

A, B, C = map(int, input().split())

a = (A + B) % C
b = ((A % C) + (B % C)) % C
c = (A * B) % C
d = ((A % C) * ( B % C )) % C

print(a,b,c,d,sep="\n")

혹은 다음과 같이 즉시 출력시킬 수도 있습니다.

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

print(f"{(a + b) % c}\n{((a % c) + (b % c)) % c}\n{(a * b) % c}\n{((a % c) * (b % c)) % c}")

위와 같이 f-string에서 변수를 정용할 때는 중괄호{}를 사용해 조금 더 쉽게 포멧팅이 가능합니다.

 

문제 페이지

https://www.acmicpc.net/problem/10430

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

 

반응형
반응형

문제

ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다.

불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오.

 

입력

서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000)

 

조건

불기 연도를 서기 연도로 변환한 결과를 출력한다.

 

예제 입력

2541

예제 출력

1998

 

문제 풀이

print(int(input())-543)

먼저 숫자만 입력할 수 있도록 input을 int로 감싸주었고, 불기와 다른 연도 차이는 543임으로 주어진 불기에 이를 빼면 서기로 출력됩니다.

 

 

문제 페이지

https://www.acmicpc.net/problem/18108

 

18108번: 1998년생인 내가 태국에서는 2541년생?!

ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국

www.acmicpc.net

 

반응형
반응형

문제

준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.

 

입력

첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.

조건

첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.

 

예제입력

joonas

예제출력

joonas??!

 

문제 풀이

print(input(),"??!",sep="")

해당 문제에서는 리스트같은 것을 만들어 비교하는 것이 아닌 바로 출력하라고 했기 때문에 입력한 것에 바로 "??!"를 출력하도록 만들었습니다.

 

 

문제 페이지

 

 

10926번: ??!

준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때

www.acmicpc.net

 

반응형
반응형

문제

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

 

입력

두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)

 

조건

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

 

문제 풀이

A, B = map(int, input().split())

a = A + B # 덧셈
b = A - B # 뺄셈
c = A * B # 곱셈
d = A / B # 나눗셈
e = A % B # 나머지

# 다른 사칙 연산
f = A // B # 몫만 출력(3 // 2 == 1)

print(a,b,c,d,e, sep='\n')

한 줄, 한 줄 print 문항을 써 출력을 할 수도 있지만 sep=을 사용해 결과 사이에 줄바꿈을 넣어주었습니다.

 

 

문제 페이지

 

 

10869번: 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

 

반응형
반응형

문제

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

조건

첫째 줄에 A-B를 출력한다.

 

문제 풀이

A, B = map(int,input().split())
print(A-B)

이전 A+B의 설명과 동일 합니다.

 

map 함수는 주로 리스트, 튜플, 문자열 등과 같은 반복 가능한(iterable) 객체의 모든 요소에 동일한 함수를 적용하고 그 결과를 새로운 iterable로 반환하는 역할을 합니다.

 

이 함수는 map(각 요소에 지정할 함수, 요소, ...)로 작성이 가능하고 위 문제에서는 다음과 같이 풀이할 수 있습니다.

입력한(input) 것을 분리(split)하여  숫자열(int)로 지정(map)할 것입니다.
A - B를 출력(print)하겠습니다.

 

이와 동일한 방식으로 10998(AXB), 1008(A/B)도 동일하게 문제를 푸실 수 있을 것 입니다.

 

문제 페이지

 

 

 

1001번: A-B

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

10998번: A×B

두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

반응형