목록Algorithm/Programmers (10)
딸기말차
Question https://school.programmers.co.kr/learn/courses/30/lessons/12954 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code def solution(x, n): return [x * i for i in range(1, n + 1)] Idea x부터 시작해 x씩 증가하는, 즉 x의 배수를 구하면 해결할 수 있는 문제이다. 이를 위해 보통 0부터 시작하는 for문을 1부터 시작해, n + 1까지 반복시켜 배수를 구하면 간단히 해결할 수 있다.
Question https://school.programmers.co.kr/learn/courses/30/lessons/12925 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code def solution(s): return int(s) Idea 문자열을 편하게 다룰 수 있는 것은 파이썬의 정말 큰 장점이라 생각한다. 들어온 문자열을 int 메소드를 통해 통채로 정수형으로 바꿔주면 금방 해결할 수 있는 문제였다.
Question https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code def solution(n): answer = min([i for i in range(1, n + 1) if n % i == 1]) return answer Idea 1부터 n까지의 구간에서 나머지가 1이 되는 수를 리스트에 저장하고, min 함수를 통해 그 중 가장 최소인 값을 찾아주면 금방 해결할 수 있는 문제이다. 방법은 간단하지만, 파이썬의 특징인 리스트 구성에 반..
Question https://school.programmers.co.kr/learn/courses/30/lessons/12916 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code def solution(s): return s.lower().count('p') == s.lower().count('y') Idea 파이썬에서 제공하는 문자열에 포함되어 있는 글자수를 세는 메소드인 count를 활용하면 금방 해결할 수 있는 문제이다. 다만 유의해야할 점은, 입력으로 들어오는 문자열에 대문자와 소문자가 섞여있기 때문에 소문자로 통일해주는 lower 메소드를..
Question https://school.programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code def solution(n): return list(map(int, reversed(list(str(n))))) Idea 기본적으로 정수형은 각 자리 별로 분리할 수가 없다. 때문에 문자열로 변경하는 아이디어를 채택했고, 최종 결과는 다시 정수형을 반환해줘야 했기 때문에 리스트의 순서를 뒤집어주는 reversed 함수와 정수형으로 매핑할 수 있는 map 함수를 사용하여 해..
Question https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Code def solution(n): for i in range(1, n + 1): if i ** 2 == n: return (i + 1) ** 2 return -1 Idea 어느 수까지 반복하라는 명확한 기준이 없지만 적어도 1~n까지의 특정 수를 제곱하면 n이 나온다는 것을 알 수 있다. 이에 따라 for loop를 실행하며 특정 수를 찾고, +1을 한 수의 제곱을 retur..