본문 바로가기

알고리즘31

프로그래머스-3진법 뒤집기 3진법 뒤집기 https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr def solution(n): answer='' while n>0: n,mod=divmod(n,3) answer+=str(mod) return int(answer,3) divmod 함수를 이용하면 몫과 나머지를 구할 수 있다. 3진법은 divmod를 이용해서 루프돌면서 몫을 3으로 계속 나눈 나머지를 .. 2022. 5. 31.
프로그래머스-폰켓몬 폰켓몬 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 처음에 이 문제 이해를 제대로 못해서 폰켓몬 종류를 고르는 경우의 수 조합을 구하는 줄 알았다. 그래서 itertools 라이브러리를 써서 combination 함수를 통해 조합을 구했는데, 오답이었다. 그래서 문제를 다시 잘 읽어보니 result 값으로 최대로 고를 수 있는 폰켓몬 종류의 수를 구하는 문제였다. 특히 이 부분을 유심히 읽어봐야 했다. .. 2022. 5. 26.
프로그래머스-신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 이거는 … 전형적인 피지컬 문제다. 문제 자체는 어렵지 않다. 하지만… 문법이나 라이브러리나 함수 등을 잘 알아야 하는 피지컬 문제여서 무려 1시간 동안이나 헤맸다. 진짜 울 뻔했다. 헛짓거리하다가 결국 좀 찾아봤다. isalnum()이라는 멋있는 함수가 있었다니. isalnum() 함수라던가 리스트 슬라이싱 인덱싱이라던가… 확실하게 잘 알고 있어야 중간.. 2022. 5. 25.
[프로그래머스] 로또의 최고 순위와 최저 순위 문제 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 순서에 상관없이 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정 민우가 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수 코드 def solution(lottos, win_nums): answer = [0,0] count = 0 ans_cnt = 0 rank=[6,6,5,4,3,2,1] for i in lottos: if i==0: count+=1 .. 2022. 5. 17.