반응형
브론즈1~실버2 랜덤디펜스
15947 아기 석환 뚜루루 뚜루 , 브론즈 1
문제 설명 : 같은 가사를 반복해서 부르는데 반복할 때마다 “tururu”와 “turu”에 “ru”를 한 번씩 더 추가한다.
입력에서 n이 가사에서 n번째 단어를 의미한다.
풀이 : 너무 쉬워서 풀이할게 없네요.. 그냥 f스트링 사용해봤고 index in [2, 3, 6, 7, 10, 11]: 이런식으로
코드의 효율성과 직관성을 높여 봤습니다
li = [
"baby",
"sukhwan",
"tururu",
"turu",
"very",
"cute",
"tururu",
"turu",
"in",
"bed",
"tururu",
"turu",
"baby",
"sukhwan",
] # 14개임
n = int(input())
n = n - 1
cycle = n // 14 # cycle 0부터 시작
index = n - cycle * 14
a = 2 + cycle
b = 1 + cycle
if index in [2, 3, 6, 7, 10, 11]:
li[index] = li[index] + ("ru" * cycle)
if len(li[index]) >= 12:
if index == 2 or index == 6 or index == 10:
print(f"tu+ru*{a}")
elif index == 3 or index == 7 or index == 11:
print(f"tu+ru*{b}")
elif len(li[index]) < 12:
print(li[index])
else:
print(li[index])
1032 명령 프롬프트 , 브론즈 1
설명 : n개의 입력이 주어졌을때 n개의 문자열의 i 번째 문자가 서로 다 같으면 그대로, 다른게 하나라도 있으면 ?로 출력하는 느낌쓰
풀이 : 이것도 너무 쉬웠음..
import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]
output = []
for i in range(len(data[0])):
character = []
for k in range(n):
character.append(data[k][i])
if character.count(character[0]) == len(character):
output.append(character[0])
else:
output.append("?")
print("".join(output))
10989 , 수 정렬하기 3 , 브론즈 1
설명 : 설명할것도 없다.
풀이 : 처음에 보면 뭐지? 개쉬워보이는데? 할 수 있지만 이 문제의 함정은 메모리 제한에 있다..
브 1치고는 꽤 까다롭다고 느꼈고 플2 지존 박성훈님께서 알려주신 계수 정렬을 이용해 해결했다.
(https://computer-science-student.tistory.com/58)
import sys
n = int(sys.stdin.readline())
c = []
for i in range(10000):
c.append(0)
for i in range(n):
s = list(map(int,sys.stdin.readline().split()) )
c[s[0]-1] += 1
for i in range(10000):
for m in range(c[i]):
print(i+1)
반응형
'WINK-(Web & App) > 개인 스터디 & 프로젝트' 카테고리의 다른 글
[Node.js & React.js] 인프런 강의 듣기(2) (0) | 2023.07.21 |
---|---|
알고리즘 2인 스터디 #1주차 - 박성훈 (0) | 2023.07.18 |
[알고리즘 개인 스터디] 1주차: BFS 문제 풀이(10451, 2178) - 윤현승 (0) | 2023.07.15 |
[파이썬 스터디] 1주차 20203059 도승준 (0) | 2023.07.15 |
[Node.js & React.js] 인프런 강의 듣기(1) (0) | 2023.07.14 |