임스와 함께하는 미니게임

 

25757번: 임스와 함께하는 미니게임

첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들

www.acmicpc.net

 

 

내 코드

from sys import stdin

N, G = map(str, stdin.readline().split())
user = []

for _ in range(int(N)):
    user.append(stdin.readline().strip())

user = set(user)
if G == "F":
    print(len(user)//2)
elif G == "O":
    print(len(user)//3)
else:
    print(len(user))
728x90

실버 5 - 올림픽

 

8979번: 올림픽

입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각

www.acmicpc.net

 

내 코드

from sys import stdin

# N: 참여 나라 수
# K: 등수 구하고자 하는 나라

# arr[0] 국가 나타내는 숫자
# arr[1] 금
# arr[2] 은
# arr[3] 동

N, K = map(int, stdin.readline().split())
scores = []
target = []

for _ in range(N):
    newScore = (list(map(int, stdin.readline().split())))
    if newScore[0] == K:
        target = newScore
    else:
        scores.append(newScore)

scores.sort(key=lambda x: (x[1], x[2], x[3]), reverse=True)
win = []
lose = []

for idx in range(1, 4):
    for s in scores:
        if idx >= 2:
            if s not in win and s not in lose and s[idx] > target[idx]:
                win.append(s)
            elif s not in win and s not in lose and s[idx] < target[idx]:
                lose.append(s)
        else:
            if s[idx] > target[idx]:
                win.append(s)
            elif s[idx] < target[idx]:
                lose.append(s)
    for w in win:
        if w in scores:
            scores.remove(w)
    if len(lose) > 0:
        for l in lose:
            if l in scores:
                scores.remove(l)

print(len(win) +1)
728x90

실버 5 - 덩치 7568

Brute Froce Search

Implements

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

www.acmicpc.net

 

내 코드

from sys import stdin

N = int(stdin.readline())
p = []
rank = [0 for i in range(N)]

for _ in range(N):
    p.append(list(map(int, stdin.readline().split())))

idx = 0
while True:
    if idx == N:
        break
    r = 1
    for i in range(N):
        if i == idx:
            pass
        if p[idx][0] < p[i][0] and p[idx][1] < p[i][1]:
            r += 1
    rank[idx] = r
    idx += 1

print(*rank)
728x90

간단한 369 게임

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

N = int(input())
result = []

for n in range(1, N+1):
    numStr = str(n)
    count = 0
    if numStr.find("3") > -1:
        count += numStr.count("3")
    if numStr.find("6") > -1:
        count += numStr.count("6")
    if numStr.find("9") > -1:
        count += numStr.count("9")

    if count == 0:
        result.append(str(n))
    else:
        result.append("-" * count)
print(' '.join(result))
728x90

+ Recent posts