Python/코딩 테스트

알고리즘먼데이 2주차

Young_Metal 2022. 10. 12. 11:32
import sys
t = int(sys.stdin.readline())
for i in range(t*2):
	result = 0
	if i%2 == 0:
		num = int(sys.stdin.readline())
		score = list(map(int, sys.stdin.readline().split()))
		average = (sum(score))/num
		for j in range(num):
			if score[j] >= average:
				result +=1
		print(str(result)+'/'+str(num))

result, '/', num

으로 하니까 3 / 5 나와서

str(result)+ '/' + str(num)

으로 했더니 3/5 나온다. 

import sys
num = int(sys.stdin.readline())
word = sys.stdin.readline()
str = ''.join(word)
words = list(str)

result = 1  # 이미 첫번째 단어로써 하나의 다른 집합을 갖고 있음
for i in range(num-1):
	if words[i] != words[i+1]:
		result +=1
print(result)
import sys
N, k = map(int, sys.stdin.readline().split())
for i in range(N):
	s = sys.stdin.readline()
	if i+1 == k:
		print(s)

 

제출하지 못했다. 통과하지 못한 테스트케이스가 있다. 뭐지?

import sys
n, k = map(int, sys.stdin.readline().split())
res = 0
for i in range(k):
	a, b = map(int, sys.stdin.readline().split())
	if a in (1, n) and b in (1, n):
		res +=3
	elif a in (1, n) and b in range(2, n):
		res +=4
	elif b in (1, n) and a in range(2, n):
		res +=4
	else :
		res +=5
print(res)

이것도 마찬가지 통과하지 못한 테스트 케이스가 있다고 뜬다. 아 1, 2 작은 쪽을 고려하지 못했다. 

import sys
n, k = map(int, sys.stdin.readline().split())
res = 0
for i in range(k):
	if n ==1:
		res = k
		break
	elif n== 2:
		res = 3*k
		break
	elif n >= 3:
		a, b = map(int, sys.stdin.readline().split())
		if a in (1, n) and b in (1, n):
			res +=3
		elif a in (1, n) and b in range(2, n):
			res +=4
		elif b in (1, n) and a in range(2, n):
			res +=4
		else :
			res +=5
print(res)

처음부터 잘 했으면 좋겠지만 지금은 시간이 없어서 그냥 일단 끝낸다.