programming/잘 하는 언어는 없지만 문제는 풀어보고 싶어!
[프로그래머스][7번째로 푼 문제] 120871. 저주의 숫자 3 (240809)
sleepysoong
2024. 11. 12. 14:18
구분
코딩테스트 연습 > 코딩테스트 입문
제출 일자
2024년 08월 09일 23:19:05
문제 설명
3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.
10진법 | 3x 마을에서 쓰는 숫자 | 10진법 | 3x 마을에서 쓰는 숫자 |
---|---|---|---|
1 | 1 | 6 | 8 |
2 | 2 | 7 | 10 |
3 | 4 | 8 | 11 |
4 | 5 | 9 | 14 |
5 | 7 | 10 | 16 |
정수 n
이 매개변수로 주어질 때, n
을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution
함수를 완성해주세요.
def solution(n):
converted = 0
for i in range(n):
converted += 1
while converted % 3 == 0 or "3" in str(converted):
converted += 1
return converted
느낀 점
솔직히 어떻게 해야 할지 모르겠어서 그냥 무지성으로 작성했다...
joongi007, pearlpearl, Domiki, khw8118 외 3 명
님의 풀이
def solution(n):
answer = [0, 1, 2, 4, 5, 7, 8, 10, 11, 14, 16, 17, 19, 20, 22, 25, 26, 28, 29, 40, 41, 44, 46, 47, 49, 50, 52, 55, 56, 58, 59, 61, 62, 64, 65, 67, 68, 70, 71, 74, 76, 77, 79, 80, 82, 85, 86, 88, 89, 91, 92, 94, 95, 97, 98, 100, 101, 104, 106, 107, 109, 110, 112, 115, 116, 118, 119, 121, 122, 124, 125, 127, 128, 140, 142, 145, 146, 148, 149, 151, 152, 154, 155, 157, 158, 160, 161, 164, 166, 167, 169, 170, 172, 175, 176, 178, 179, 181, 182, 184, 185]
return answer[n]
장난하십니까? 하지만 빨랐죠?
김현우, qkrcka@gmail.com, 고유정, 김형근 외 154 명
님의 풀이
def solution(n):
answer = 0
for _ in range(n):
answer += 1
while answer % 3 == 0 or '3' in str(answer):
answer += 1
return answer
오... 나랑 완전히 똑같이 풀어서 당황했다... 기분이가 너무 좋다 >___<
Sehyeon Jeong
님의 풀이
def is_use_three(number):
if "3" in str(number):
return True
if number % 3 == 0:
return True
return False
def solution(n):
return list(filter(lambda v: not is_use_three(v), range(200)))[n-1]
나도 람...다.....잘......쓰......고..............싶...................다............................
zfra, 이찬우, jambongsun@jamcoding.co.kr, hjkim-ul
님의 풀이
def solution(n):
return [i for i in range(200) if i % 3 != 0 and '3' not in str(i)][n-1]
그럴싸해 보일 뿐이지 저기 위에 있는 joongi007, pearlpearl, Domiki, khw8118 외 3명
하고 똑같은 소스인데 하드코딩이냐 아니냐 차이 아닌가요...? 1 ≤ n ≤ 100 아니었으면 틀렸겠.......다....?