character간의 차이를 계산해야하는 경우가 있다. 예를 들어 'A'와 'B'는 1의 차이가 나고, 'A'와 'D'는 4의 차이가 난다. 이러한 경우에는 각 알파벳을 숫자로 치환해야하는데, 일일히 치환할 필요없이 파이썬의 'ord'라는 method를 사용하면 쉽게 계산할 수 있다! letters = "abyz" numbers = [] for letter in letters: number = ord(letter) - 96 numbers.append(number) print(numbers) >>> [1, 2, 25, 26] 위의 예시에서는 "abyz"라는 단어를 parse해서 각각의 알파벳을 정수로 나타낸다. a는 1, z는 26으로 표현된 것을 볼 수 있다. 96을 빼주는 이유는 알파벳은 97부터 리턴..
문제 프로그래머스 괄호변환 Level 2 Link 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 나의 접근 와 이문제는.. 도저히 레벨 2라고 믿기 힘들 정도로 엄청 복잡한 재귀 로직을 짜는 것을 요구한다. 문제 이해가 너무 어려워서 계속 숙제처럼 미뤄두다가 오늘 도전한 문제..! 한 번에 모든 테케 통과해서 기분이 매우 좋다 ㅎㅎ 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할..
문제 프로그래머스 타겟넘버 Level 2 Link 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 나의 접근 1. Brute Force 우선 완전 탐색으로 풀어보았다. 주어지는 숫자의 개수가 최대 20개다보니 시간 초과가 뜨지 않고 모든 테케가 통과된다. # Brute Force def solution(numbers, target): answer = 0 current_list = [numbers[0], -numbers[0]] for i in range(1,..