728x90
반응형

레벨1 10

[파이썬] 프로그래머스_시저 암호

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 이 문제는 대문자 / 소문자 / 공백을 따로 처리해줘야 한다. 각 알파벳에 n을 더한 후 알파벳을 구하면 되는데, z / Z를 넘어가면 다시 a / A로 돌아가야 한다. 이는 각 알파벳을 아스키코드로 변경한 후 계산하면 쉽다. 아스키코드 값을 보면 a : 97 - z : 122 A : 65 - Z : 90 이므로 각각 z / Z 값을 넘어가는지 확인해주면 된다. 넘어간다면 알파벳 개수(..

[파이썬] 프로그래머스_자릿수 더하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 각 자릿수를 구하려면 10으로 나눠서 그 나머지값을 보면 된다. 이제 그 다음 자릿수를 구하기 위해선 10으로 나눈 몫을 다시 10으로 나눠주면 된다. 코드 -파이썬 def solution(n): answer = 0 while n > 0: answer += (n % 10) n = n // 10 return answer

[파이썬] 프로그래머스_서울에서 김서방 찾기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 파이썬은 리스트에서 특정 원소의 인덱스를 반환해주는 index 함수가 있다. 코드 -파이썬 def solution(seoul): answer = seoul.index('Kim') return ("김서방은 "+str(answer)+"에 있다")

[파이썬] 프로그래머스_두 개 뽑아서 더하기

문제 https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 해설 두 수 씩만 더하기 때문에 중복 for문을 통해 하나씩 더한 값을 구할 수 있다. 값이 answer 안에 없다면 answer에 넣어주고 마지막으로 오름차순 정렬만 해주면 답을 구할 수 있다. 코드 -파이썬 #프로그래머스 68644(두 개 뽑아서 더하기) def solution(numbers): answe..

[파이썬] 프로그래머스_K번째 수

문제 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 해설 딱히 뭐 생각할 것 없이 문제에 적힌 순서대로 코드를 작성하면 된다. 코드 -파이썬 def solution(array, commands): answer = [] for i in commands: arr = array[i[0]-1:i[1]] arr.sort() answer.append(arr[i[2]-1]) return answer #################################################..

[파이썬] 프로그래머스_최소직사각형

문제 https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 해설 이 문제는 가로, 세로에 사로잡히지 않는게 좋다. 명함을 가로로 눕히든 세로로 세우든 지갑에 넣기만 하면 되기 때문에 각 가로, 세로 값을 정렬해서 큰 값을 가로로 / 작은 값을 세로로 두면 된다. 그 후, 가로 값, 세로 값 중에서 가장 큰 값을 골라 그 둘을 곱해주기만 하면 된다. 나는 sizes 배열에서 w,h 배열을 하나씩 꺼내 w_max, h_m..

[파이썬] 프로그래머스_예산

문제 https://programmers.co.kr/learn/courses/30/lessons/12982# 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 해설 이 문제는 예산이 정해진 회사에서 최대한 많은 부서의 물품을 구매해주도록 하는 문제이다. 최대한 많은 부서의 물품을 구매하려면 우선 정렬을 해주는게 편하다. 만약 신청 금액의 합이 예산과 같다면 for문을 돌지 않아도 바로 값이 나오도록 해준다. 같지 않으면 for문을 돌며 지원 가능한 부서의 수를 구해주면 된다. 코드 -파이썬 def solution(..

[파이썬] 프로그래머스_완주하지 못한 선수(해시)

문제 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 해설 해시를 사용하진 않았지만.. 이 문제는 두 배열을 정렬 시켜서 각 인덱스의 값이 같은지 비교하면 된다. 값이 다르면 participant 배열의 인덱스를 리턴해주면 된다. 만약 가장 마지막 선수가 완주하지 못했다면 비교되지 않아서 아무런 값도 리턴되지 않기 때문에 가장 마지막 선수가 완주하지 못한 경우를 생각해줘야 한다. 이 경우엔..

[파이썬] 프로그래머스_소수 만들기

문제 https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 해설 이 문제는 주어진 숫자 중 3개의 수를 더해서 소수가 되는 경우의 개수를 구하는 문제이다. 그럼 소수인지를 구하는 함수를 따로 만들어두면 코드를 보기 좀 더 편할 것이다. isPrime 함수에서 해당 수가 2 ~ num까지 나누기를 했을 때 나누어지는 수가 있는지 찾아 소수인지 아닌지 판단한다. 밑의 solution 에선 combi..

[파이썬] 프로그래머스_음양 더하기

문제 https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 해설 이 문제는 정수의 절댓값이 담긴 배열 absolutes가 있고, 각 정수들의 부호를 담은 boolean 배열 signs가 있다. 그냥 absolutes 배열에 담긴 각 정수들의 합을 구하면 된다. signs[i]가 True면 양수 / False면 음수이므로 양수일 때는 + / 음수일 때는 -를 해서 값을 구해주면 끝이다. 코드 ..

728x90
반응형