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")