👑게임대회가 개최되었습니다.
일단 어떻게 생각했느냐면,,,
숫자를 일단 다 리스트로 집어넣는다.
12345678
이거를 두개 단위로 자른다.
12|34|56|78
이렇게 자르고
첫번째로 n/2 를 하면 4가 나오고
지역변수로 a,b,c,d를 선언하는 데 각각 n/(1/4), n/(2/4),... 이런 식으로 abcd에 넣어준다.
그리고
if( A%2==0) and (a<A<=b)
A=n%(2/4)
if(B%2==1) and (c<B<=b)
B=n%(4/4)
n=+=1
if (A-B==1 or B-A==1)
return n
이런 형태로 코드를 짜게 되면
굉장히 비효율 적이겠지만 ...이 테스트 케이스 하나라도 통과하는게 어디냐...
좀 더 구체적으로 코드를 작성해본다.
def solution(n,a,b):
answer = 0
while(1):
if(a-b==1 or b-a==1):
return answer
n=n%2
aa=n/4
bb=n/2
cc=n-aa
dd=n
if(a%2==0 and aa<a<=bb):
a=bb
if(b%2==1 and cc<b<=dd):
b=dd
print(a)
print(b)
answer+=1
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print('Hello Python')
return answer
이런 식으로..
def solution(n,a,b):
answer = 0
while(1):
answer+=1
if(a-b==1 or b-a==1):
return answer
aa=n/4
print(aa)
print("입니다.")
bb=n/2
print(bb)
print("입니다.")
cc=n-aa
print(cc)
print("입니다.")
dd=n
print(dd)
print("입니다.")
if(a%2==0 and aa<a<=bb):
a=n-cc
if(b%2==1 and cc<b<=dd):
b=n-bb
if(b%2==0 and cc<b<=dd):
b=n-bb
print(a)
print(b)
n=n/2
print(n)
print("입니다.")
if(answer==4):
return "오답"
break
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print('Hello Python')
return answer
이렇게 코드를 짜게 되면 test1은 통과할 수 있다.
코드를 돌려보니 3개나 맞췄다..ㅋㅋㅋ
규칙을 찾으면 더 맞출 수 있을 것 같은데 더 고민해봐야겠다.
해당문제 참고
'코딩테스트 > 💯프로그래머스 코딩테스트 연습' 카테고리의 다른 글
프로그래머스 2018 KAKAO BLIND RECRUITMENT > 1차 비밀지도 (0) | 2022.10.29 |
---|---|
프로그래머스 2021 채용연계형 인턴십 코테문제_숫자문자열과 영단어 (0) | 2022.10.27 |
프로그래밍 초급자를 위한 기초 수준 (0) | 2022.09.30 |
프로그래머스 스킬체크 입문자를 위한 쉬운 수준 문제 (0) | 2022.09.28 |
프로그래머스 스킬체크 굿스타터 (0) | 2022.09.27 |