[코테 준비 : day10]

Choi·2023년 7월 6일
0

코딩테스트 준비

목록 보기
10/22

실력이 느는건지 모르겠지만 keep going!

1.그룹 단어 채커
https://www.acmicpc.net/problem/1316

연속 된 문자가 있는지 확인하고 아니라면 그 다음 문자들에서 같은 문자가 있는지 확인할 것!

N = int(input())
cnt = N

for i in range(N):
    word = input()
    for j in range(0, len(word)-1):
        if word[j] == word[j+1]:
            pass
        elif word[j] in word[j+1:]:
            cnt -= 1
            break

print(cnt)

2.덩치
https://www.acmicpc.net/problem/7568

결국은 자신 위에 몇 명있는지 세면 된다!

num_student = int(input())
student_list = []

for _ in range(num_student):
    weight, height = map(int, input().split())
    student_list.append((weight, height))

for i in student_list:
    rank = 1
    for j in student_list:
        if i[0] < j[0] and i[1] < j[1]:
                rank += 1
    print(rank, end = " ")

3.블랙잭
https://www.acmicpc.net/problem/2798

combinations을 통해 조합을 찾아서 같거나 가장 근접한 값을 찾으면 된다!

from itertools import combinations

n, s = map(int, input().split())
cards = list(map(int, input().split()))
max_sum = 0

for c in combinations(cards, 3):
    if sum(c) <= s and sum(c) > max_sum:
        max_sum = sum(c)
print(max_sum)

4.N과M(1)
https://www.acmicpc.net/problem/15649

permutations을 통해 수열을 찾고 join!

from itertools import permutations
N, M = map(int, input().split())
P = permutations(range(1, N+1), M)  
for i in P:
    print(' '.join(map(str, i)))

5.돌 게임
https://www.acmicpc.net/problem/9655

n=1 → 상근이가 먼저 1개 가져가고 게임 끝 ⇒ SK
n=2 → 상근 1, 창영 1 ⇒ CY
n=3 → 상근3 or 상근1 창영1 상근1 ⇒ SK
n=4 → 상근3 창영1 or 상근1 창영1 상근1 창영1 ⇒ CY
n=5 → 상근3 창영1 상근1 ⇒ SK … 이러한 경우들을 보면 n이 홀수일 때 상근이가 이기고, n이 짝수일 때 창영이가 이긴다는 것을 알 수 있다. 코드는 다음과 같다.

N = int(input())
 
if N % 2 == 0 :
    print("CY")
else:
    print("SK")
profile
느려도 내 것으로 만드는게 좋잖아?

0개의 댓글