728x90
반응형
class Solution:
def solution(self, n1, n2, K):
self.n1 = n1
self.n2 = n2
self.K = K
self.t=[]
if self.n2>=1 and self.n1>=1:
for i in range(self.n1+self.n2):
self.t.append('M')
d=self.K
i=0
r=[]
while True:
if d>len(self.t):
while True:
d = d-len(self.t)
if d<=len(self.t):
break
self.t.remove(self.t[d-1])
r.append(d-1)
d = d-1+self.K
i+=1
if i ==self.n2:
break
r = reversed(r)
for i in r:
self.t.insert(i,'F')
else:
for i in range(self.n2):
self.t.append('F')
for i in range(self.n1):
self.t.append('M')
self.t = "".join(self.t)
return self.t
|
cs |
분명 코잘알 분들은 더 간결하게 짰을텐데 내가 아직은 그 정도가 아니라 이렇게 하나하나 짜야 하는 것 같다...^_ㅜ
먼저 n1과 n2의 갯수만큼 M을 넣은 리스트를 만든 후
조건에 맞는 F를 찾을 때 마다 M을 제거 후, 그 인덱스를 리스트 r에 따로 저장
계산이 끝나면 F의 인덱스가 모인 리스트를 역순으로 바꿔준 뒤 F를 넣어주면 된다.
여러 조건들을 맞추려고 if else를 많이 썼다
출처 : www.oncoder.com/
728x90
반응형
'코테 문제 풀이 > 온코더 oncoder' 카테고리의 다른 글
온코더 레벨 14 레이저 발사 (0) | 2020.11.26 |
---|---|
온코더 레벨 13 수열 중복 제거 (0) | 2020.11.25 |
온코더 레벨 11 잔액 계산 (0) | 2020.11.25 |
온코더 레벨 10 평형점 구하기 (0) | 2020.11.25 |
온코더 레벨 9 스택 만들기 (0) | 2020.11.25 |