관리 메뉴

솜씨좋은장씨

[Programmers] 369게임 (Python) (feat.ChatGPT) 본문

Programming/코딩 1일 1문제

[Programmers] 369게임 (Python) (feat.ChatGPT)

솜씨좋은장씨 2023. 4. 7. 13:11
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 369게임 입니다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

👨🏻‍💻 문제 풀이 - SOMJANG

입력 받은 숫자 order 를 str -> list 로 변환 한 뒤

List Comprehension 안에서 하나씩 값을 꺼내와서 int 로 변환한 값이 3, 6, 9 중에 하나일 경우에만 

리스트에 남기도록하고 이후 이 리스트에 남아있는 값의 개수를 정답으로 하였습니다.

👨🏻‍💻 코드 (Solution)- SOMJANG

def solution(order):
    return len([num for num in list(str(order)) if int(num) in {3, 6, 9}])

👨🏻‍💻 문제 풀이 - ChatGPT

주어진 숫자를 하나씩 쪼개어서 3, 6, 9의 개수를 계산하면 됩니다. 이를 위해 다음과 같은 단계를 수행합니다.

  1. order를 문자열로 변환하여 한 글자씩 리스트로 만듭니다.
  2. 리스트에 있는 각 숫자에 대해 3, 6, 9가 포함되어 있는지 확인합니다.
  3. 3, 6, 9 중 하나라도 포함되어 있다면 박수를 쳐야 하므로 박수 횟수를 1 증가시킵니다.
  4. 모든 숫자를 처리한 후에는 박수 횟수를 반환합니다.

입력으로 받은 order를 문자열로 변환한 후, 한 자리씩 처리합니다. 숫자에 3, 6, 9가 포함되어 있다면 clap_count를 1 증가시킵니다. 마지막으로 박수 횟수를 반환합니다.

👨🏻‍💻 코드 (Solution)- ChatGPT

def solution(order):
    clap_count = 0
    for digit in str(order):
        if digit in ['3', '6', '9']:
            clap_count += 1
    return clap_count

ChatGPT 도 문제를 풀어나가는 방식이 저와 별반 다르지 않았습니다.

 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments