728x90

BOJ 10822 더하기

문제

숫자와 콤마로만 이루어진 문자열 S가 주어진다. 

이때, S에 포함되어있는 자연수의 합을 구하는 프로그램을 작성하시오.

S의 첫 문자와 마지막 문자는 항상 숫자이고, 콤마는 연속해서 주어지지 않는다. 

주어지는 수는 항상 자연수이다.

시간 제한 : 1 초
메모리 제한 : 256 MB

입력

첫째 줄에 문자열 S가 주어진다. S의 길이는 최대 100이다.

포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다.

출력

문자열 S에 포함되어 있는 자연수의 합을 출력한다.

예제 입력 1

10,20,30,50,100

예제 출력 1

210

풀이

arr = list(map(int, input().split(",")))
res = 0

for i in arr:
    res += i
print(res)
728x90
728x90

BOJ 18406 럭키 스트레이트

문제

어떤 게임의 아웃복서 캐릭터에게는 럭키 스트레이트라는 기술이 존재한다.

이 기술은 매우 강력한 대신에 항상 사용할 수는 없으며, 현재 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있다.

특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 점수 N을 자릿수를 기준으로 반으로 나누어 

왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 의미한다. 

예를 들어 현재 점수가 123,402라면 왼쪽 부분의 각 자릿수의 합은 1+2+3, 

오른쪽 부분의 각 자릿수의 합은 4+0+2이므로 두 합이 6으로 동일하여 럭키 스트레이트를 사용할 수 있다.

현재 점수 N이 주어졌을 때, 럭키 스트레이트를 사용할 수 있는 상태인지 아닌지를 알려주는 프로그램을 작성하시오. 

럭키 스트레이트를 사용할 수 있다면 "LUCKY"를, 사용할 수 없다면 "READY"라는 단어를 출력한다. 

또한 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. 

예를 들어 자릿수가 5인 12,345와 같은 수는 입력으로 들어오지 않는다.

시간 제한 : 1 초
메모리 제한 : 256 MB

입력

첫째 줄에 점수 N이 정수로 주어진다. 

(10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다.

출력

첫째 줄에 럭키 스트레이트를 사용할 수 있다면 "LUCKY"를, 사용할 수 없다면 "READY"라는 단어를 출력한다.

예제 입력 1

123402

예제 출력 1

LUCKY

예제 입력 2

7755

예제 출력 2

READY

풀이

n = list(map(int, input()))
a = 0
b = 0
line = len(n)//2

for i in range(0, line):
    a += n[i]
for i in range(line, len(n)):
    b += n[i]

if a == b:
    print("LUCKY")
else:
    print("READY")
728x90
728x90

BOJ 11098 첼시를 도와줘!

문제

구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 

이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 

그들은 많은 스카우터들을 지구 곳곳에 파견해 가능성 있는 루키를 찾는다.

현재 첼시는 프리미어 리그에서 헤매고 있고, 결국 새로운 선수를 사기로 결정했다. 

하지만 그들은 스카우터를 기다리기 지쳤고, 훨씬 더 효율적인 전략을 개발해냈다. 

"만약 무언가 팔리고 있다면, 그것에는 합당한 이유가 있다"는 배룸의 명언이 바로 그것이다.

축구에서 이 말은 곧 가장 비싼 선수가 가장 좋은 선수라는 이야기가 된다. 

이에 따라 새로운 선수를 찾는 방법은 단순히 구단들에게 전화를 걸어 그들의 가장 비싼 선수를 사는게 되었다. 

당신의 임무는 첼시가 리스트에서 가장 비싼 선수를 찾아낼 수 있도록 돕는 것이다.

시간 제한 : 1 초
메모리 제한 : 256 MB

입력

첫 번째 줄에는 테스트 케이스의 개수 n이 주어진다 (n≤100). 

각 테스트 케이스의 첫 번째 줄 p는 고려해야될 선수의 수이다 (1≤p≤100).  

그 아래 p개의 줄에는 선수의 정보가 표시된다. 

각각의 줄은 선수의 가격 C 와 이름을 입력한다 (C<2*109).

ㆍ모든 선수의 가격은 서로 다르다. 
ㆍ선수의 이름은 20자 이하여야 하며, 사이에 공백이 있어서는 안 된다.

출력

각각의 테스트 케이스에서 가장 비싼 선수의 이름을 출력해야한다.

예제 입력 1

2
3
10 Iversen
1000000 Nannskog
2000000 Ronaldinho
2
1000000 Maradona
999999 Batistuta

예제 출력 1

Ronaldinho
Maradona

풀이

import sys

input = sys.stdin.readline
n = int(input())

for _ in range(n):
    p = int(input())
    max = 0
    for _ in range(p):
        c,name = input().split()
        c = int(c)
        if c > max:
            max = c
            res = name
    print(res)
728x90
728x90

BOJ 2857 FBI

문제

5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오.

FBI요원은 요원의 첩보원명에 FBI가 들어있다. 

시간 제한 : 0.25 초(추가 시간 없음)
메모리 제한 : 128 MB

입력

5개 줄에 요원의 첩보원명이 주어진다.

첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다.

출력

첫째 줄에 FBI 요원을 출력한다.

이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다.

만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다.

예제 입력 1

N-FBI1
9A-USKOK
I-NTERPOL
G-MI6
RF-KGB1

예제 출력 1

1

예제 입력 2

N321-CIA
F3-B12I
F-BI-12
OVO-JE-CIA
KRIJUMCAR1

예제 출력 2

HE GOT AWAY!

예제 입력 3

47-FBI
BOND-007
RF-FBI18
MARICA-13
13A-FBILL

예제 출력 3

1 3 5

풀이

arr = [] 

for i in range(5): 
    w = input() 
    if "FBI" in w: 
        arr.append(i+1) 
if arr: 
    print(*arr) 
else: 
    print("HE GOT AWAY!")
728x90
728x90

BOJ 11945 뜨거운 붕어빵

문제

고려대학교에 입학한 새내기 호돌이는 안암역을 지나다가 한 붕어빵 장수를 만났어요.

“안녕, 안녕, 안녕하십니까, 아저씨! 붕어빵 두 개 주세요.”

“안녕을 세 번 외쳤으니 붕어빵 세 개!”

붕어빵 두 개의 값을 내고 세 개를 받은 호돌이는 기분이 좋았어요. 

호돌이가 붕어빵 하나를 꺼내어 한 입 물었는데…. 너무 뜨거워서 그만 붕어빵을 떨어뜨리고 말았어요ㅠㅠ

출처 - 백준 온라인 저지

붕어빵은 자유 낙하운동을 하면서 땅에 떨어졌는데 신기하게도 좌우가 뒤집힌 모양으로 착지했답니다. 

호돌이가 붕어빵을 한 입 물기 전의 모양이 입력으로 주어지면, 땅에 떨어졌을 때에는 어떤 모양일지 출력하세요.

시간 제한 : 1 초
메모리 제한 : 32 MB

입력

첫째 줄에는 두 개의 정수 N과 M(0≤N,M≤10)이 주어집니다. 

둘째 줄부터 N개의 줄에 걸쳐 붕어빵의 모양이 주어집니다. 

각 행에는 공백을 나타내는 ‘0‘ 또는 붕어빵을 나타내는 ‘1’이 총 M개 주어집니다.

출력

입력으로 주어진 붕어빵이 좌우로 뒤집힌 모양을 출력하세요.

예제 입력 1

5 7
0010000
0111010
1111111
0111010
0010000

예제 출력 1

0000100
0101110
1111111
0101110
0000100

힌트

입력으로 주어지는 각 행을 반전시켜서 출력하면 됩니다.

입력의 1행 1열은 출력의 1행 M열로, 입력의 1행 2열은 출력의 1행 M-1열로 … 

입력의 1행 M열은 출력의 1행 1열로 … 입력의 N행 M열은 출력의 N행 1열로 출력하세요.

풀이

n, m = map(int,input().split())

for _ in range(n):
    s = input()
    print(s[::-1])
728x90
728x90

BOJ 4458 첫 글자를 대문자로

문제

문장을 읽은 뒤, 줄의 첫 글자를 대문자로 바꾸는 프로그램을 작성하시오.

시간 제한 : 1 초
메모리 제한 : 128 MB

입력

첫째 줄에 줄의 수 N이 주어진다. 

다음 N개의 줄에는 문장이 주어진다. 

각 문장에 들어있는 글자의 수는 30을 넘지 않는다.

모든 줄의 첫 번째 글자는 알파벳이다.

출력

각 줄의 첫글자를 대문자로 바꾼뒤 출력한다.

예제 입력 1

5
powdered Toast Man
skeletor
Electra Woman and Dyna Girl
she-Ra Princess of Power
darth Vader

예제 출력 1

Powdered Toast Man
Skeletor
Electra Woman and Dyna Girl
She-Ra Princess of Power
Darth Vader

풀이

n = int(input())

for _ in range(n):
    s = list(input())
    s[0] = s[0].upper()
    print(''.join(s))

 

728x90
728x90

BOJ 1225 이상한 곱셈

문제

A×B를 계산하다 지겨워진 형택이는 A×B를 새로운 방법으로 정의하려고 한다.

A에서 한 자리를 뽑고 × B에서 임의로 한 자리를 뽑아 곱한다.

의 가능한 모든 조합 (A가 n자리, B가 m자리 수라면 총 가능한 조합은 n×m개)을 더한 수로 정의하려고 한다.

예를 들어 121×34는

1×3 + 1×4 + 2×3 + 2×4 + 1×3 + 1×4 = 28

이 된다. 이러한 형택이의 곱셈 결과를 구하는 프로그램을 작성하시오.

시간 제한 : 2 초
메모리 제한 : 256 MB

입력

첫째 줄에 A와 B가 주어진다. 

주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다. 

수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다.

출력

첫째 줄에 형택이의 곱셈 결과를 출력한다.

예제 입력 1

123 45

예제 출력 1

54

풀이

import sys

input = sys.stdin.readline
a, b = map(list, input().split())
a = list(map(int, a))
b = list(map(int, b))

print(sum(a) * sum(b))
728x90
728x90

BOJ 5988 홀수일까 짝수일까

문제

짝이 없는 경재는 매일 홀로 있다보니 홀수를 판별할 수 있는 능력이 생겼다. 

창식이는 경재의 말이 사실인지 그 능력을 시험해보려 한다. 

창식이의 의심이 끝이 없을 것 같아 N개만 확인하기로 정했다.

N개의 정수가 주어지면 홀수인지 짝수인지를 출력하는 프로그램을 만들어 경재의 능력을 검증할 수 있게 도와주자.

시간 제한 : 1 초
메모리 제한 : 128 MB

입력

첫 번째 줄에 숫자의 개수 N(1 <= N <= 100)이 주어진다.

두 번째 줄부터 N+1번째 줄에 걸쳐 홀수인지 짝수인지 확인할 정수 K (1 <= K <= 10^60)가 주어진다.

출력

N개의 줄에 걸쳐 한 줄씩 정수 K가 홀수라면 'odd'를, 짝수라면 'even'을 출력한다.

예제 입력 1

2
1024
5931

예제 출력 1

even
odd

힌트

1024는 2로 나누어지므로 짝수이고, 5931은 그렇지 않으므로 홀수이다.

풀이

import sys

input=sys.stdin.readline
n = int(input())

for _ in range(n) :
    tmp = int(input())

    if tmp % 2 == 0 : 
        print("even")
    else : 
        print("odd")
728x90

+ Recent posts