문자열 7

Split String

문제 설명 Complete the solution so that it splits the string into pairs of two characters. If the string contains an odd number of characters then it should replace the missing second character of the final pair with an underscore ('_'). Examples: solution('abc') # should return ['ab', 'c_'] solution('abcdef') # should return ['ab', 'cd', 'ef'] 해결 방법 1. s의 문자열 수가 만약 홀수라면 뒤에 '_'를 붙인다. 2. 문자열을 두개씩 잘라서..

Bit Counting

문제 설명 Write a function that takes an integer as input, and returns the number of bits that are equal to one in the binary representation of that number. You can guarantee that input is non-negative. Example: The binary representation of 1234 is 10011010010, so the function should return 5 in this case 해결 방법 1. 들어온 수를 2진수로 바꾼다. 2. 바꾼 수에서 '1'의 개수를 세어 반환한다. def count_bits(n): return bin(n).count('1..

문자열 내림차순으로 배치하기

문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 해결 방법 1. 문자열을 내림차순으로 정렬하여 반환한다. def solution(s): answer = ''.join(sorted(s, reverse=True)) return answer sorted 와 reverse 속성, 그리고 join을 활용하면 쉽게 풀 수 있다. 여기서 join은 sorted로 인해 리스트로 변형된 문자열을 다시 합쳐준다. 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/lear..

문자열 다루기 기본

문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 해결 방법 1. s를 숫자로 바꾸어 본다. 2. 만약 숫자로 바꿀 수 없는 문자열이라면 ValueError를 통해 False 를 반환한다. 3. 숫자로 바꿀 수 있다면 해당 문자열의 길이를 구한다. 4. 길이가 4 혹은 6이라면 True를 반환하고 아니라면 False 를 반환한다. def solution(s): try: int(s) length = len(s) answer = length == 4 or length == 6 exc..

자릿수 더하기

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 해결 방법 1. n을 이터러블한 문자열로 바꾼다. 2. 반복문을 통해 문자열을 리스트로 바꾼다. 3. 리스트의 요소들을 정수로 바꾼다. 4. 리스트의 요소들을 더해 합을 구한다. def solution(n): answer = sum([int(i) for i in str(n)]) return answer

자연수 뒤집어 배열로 만들기

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 해결 방법 1. n을 이터러블한 문자열로 바꾼다. 2. 문자열의 순서를 뒤집는다. 3. 뒤집은 문자열을 모두 숫자로 바꾼다. 4. 바꾼 숫자를 리스트로 감싼다. # 컴프리핸션을 활용한 방법 def solution(n): answer = [int(i) for i in reversed(str(n))] return answer # map함수를 활용한 방법 def solution(n): answer = list(map(int, reversed(str(n)))) return answer map함수는 이..

김왼손의 왼손코딩 #연산자 _ 할당, 산술, %로 홀짝 구분하기, 문자열 연산자

오늘 배운 것 operator (연산자) 1. (장비·기계를) 조작하는 사람 2. 전화 교환원 3. + 복합 할당 연산자(기호가 2개 연속으로 붙은 것) = >>> 우측 값을 왼쪽 변수에 할당한다 == >>> 두개의 값이 서로 같은지 비교 += >>> 내부 값에 다른 값을 더한다 -= >>> 내부 값에 다른 값을 뺀다 *= >>> 내부 값에 다른 값을 곱한다 /= >>> 내부 값에 다른 값을 나눈다(+정수에서 실수로 변한다) 1. 사칙연산 + - * / (너무 기본적인 내용이라 구체적인 내용은 생략) 2. 특수연산자 ** >>> 제곱 구하기 // >>> 나누기 몫 구하기 % >>> 나누기 나머지 구하기 # 일단 출력되는 것 확인해보자 nums = [1,2,3,4,5,6,7] for num in nums:..