알고리즘 풀이
[algorithm] 페어 - 프로그래머스: 로그인 성공?, n의 배수 고르기
째깍단
2023. 4. 25. 10:31
답:
더보기
로그인 성공
#for문을 2번 쓰는 문제가 있지만 새로운 방식이라서 기록
def solution(id_pw, db):
for i in db:
if i == id_pw:
return "login"
for i in db:
if i[1] != id_pw[1]:
return "wrong pw"
else:
return 'fail'
n의 배수 고르기
def solution(n, numlist):
for num in numlist:
if num % n == 0:
answer.append(num)
return answer
-> 한 줄의 마법..
def solution(n, numlist):
answer = [num for num in numlist if num % n == 0]
return answer
> 로그인 성공?의 풀이는 아래에
https://diane073.tistory.com/75
> 이 글에는 n의 배수 고르기 풀이를 작성한다.
문제 분석 및 해석
정수 n, 정수 numlist가 주어짐
numlist에서 n의 배수가 아닌 수를 제거하여 return
입력 :
n = 3
numlist = [4, 5, 6, 7, 8, 9, 10, 11, 12]
출력 : [6, 9, 12]
1) 내가 생각한 풀이 :
n에 숫자를 곱해서 같은 것 가져오기?
2) 풀이방법을 다시 생각해보자
더 간단한 풀이 방법이 있다! n으로 나누어서 검사해보기
- 과정 -
나누어서 나머지가 0 이면 배수임을 확인할 수 있다.
if문을 통과한 답을 answer에 추가해준다.
for num in numlist:
if num % n == 0:
answer.append(num)
간단하니까 리스트 컴프리헨션을 써서 한줄로 만들어보기.
answer = [num for num in numlist if num % n == 0]
answer = [얻고자하는값 변수 / 상위에 있는 for문 / if 문 ]
오... 오..
짧은 시간안에 여러 방면의 발상을 할 수 있었으면 좋겠다
= 많이 풀자..ㅋㅋㅋ