Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 장고 다중이미지
- django multi image
- 스파르타
- python
- 장고이미지처리
- 20492번
- 네이버커넥트재단
- 22938번
- error
- 참가후기
- React
- 프론트엔드
- SEF2022
- 프로그래머스
- MongoDB
- html
- 파이썬무료강의
- 코딩기초트레이닝
- 스파르타코딩클럽
- 프로그래머스입문
- GIT
- ㅐㄱ이
- 반응형
- 무료강의
- sql
- jquery
- css
- 개인정보수집유효기간
- useState
- 파이썬
Archives
- Today
- Total
코딩,해볼까
07.25. 프로그래머스 : 로그인 성공?, n의 배수 고르기, 2차원으로 만들기 본문
< 로그인 성공? >
1. 나의 풀이
id_pw가 있을 때는 login이고, 없을 때는 fail 이라는 if문을 만들어서 그 안에서 wrong pw를 골라내도록 식을 구성하였다.
def solution(id_pw, db):
answer = ''
if id_pw in db:
answer += 'login'
else:
for i in db:
if id_pw[0] == i[0]:
answer += 'wrong pw'
if answer == '':
answer += 'fail'
return answer
2. 풀이과정
db = [ [ ] ] 의 원소 [ ] 를 꺼내어 id_pw와 하나하나 비교할 때, answer = "failfailfailwrong pw" 과 같은 answer를 도출하였다. 이는 for문의 특성상 db 안의 모든 요소 비교 결과값이 출력되었으며, 이 값들은 모두 문제에서 제시하는 result 중 하나의 값을 무조건 가질 수 밖에 없는 요소들이기 때문이다.
# 입출력 예
id_pw = ["meosseugi", "1234"]
db = [["rardss", "123"], ["yyoom", "1234"], ["meosseugi", "1234"]]
# 나의 첫 풀이 과정 일부
for i in db:
if i[0] == id_pw[0] and i[1] != id_pw[1]:
answer += 'wrong pw'
break
elif i[0] != id_pw[0] and i[1] == id_pw[1]:
answer += 'fail'
break
또한, 로그인 실패 시 아이디가 일치하는 회원이 없다면 = fail
그러므로 아이디와 비밀번호까지도 일치하는 회원이 없다면 이는 fail로 처리해주어야 한다.
< n의 배수 고르기 >
1. 나의 풀이
def solution(n, numlist):
answer = []
for i in numlist:
if i % n == 0:
answer.append(i)
return answer
numlist의 원소들 중 n의 배수를 고르기 위해 n으로 나눠지는 숫자를 새 배열에 추가하여 그 배열을 return 했다. 이 풀이는 한 줄 써보기, 람다식 사용 등이 가능할 것 같다.
< 2차원으로 만들기 >
1. 나의 풀이
배열을 2차원배열화 하는 문제이다.
def solution(num_list, n):
answer = []
for i in range(0, len(num_list)-1, n):
answer.append(num_list[i:i+n])
return answer
2. 풀이과정
range(시작:끝:간격) 사용법에 맞춰 0부터 리스트 길이 -1(index 번호와 length 번호는 1의 차이가 있다.) 까지 n만큼 증가하는 수들만 뽑아냈다.
for i in range(0, len(num_list)-1, n)
print(i) # ex) 2 4 6 8
for문 내부에는 i 값에 따라서 리스트를 잘라 새로운 리스트에 넣어주는 함수가 있다.
i번째 ~ i+n번째 수 까지 잘라야만 원하는 숫자만큼 쪼개어 결과값을 만들어 줄 수 있다.
이 부분 또한 리스트 슬라이싱 방법을 활용하였다. range와 list 슬라이싱은 매우 흡사하다.
answer.append(num_list[i:i+n])
'Back > TIL' 카테고리의 다른 글
08.13. 프로그래머스 : 소수 만들기 (0) | 2023.08.14 |
---|---|
08.11 프로그래머스 : 삼총사, 키패드 누르기 (0) | 2023.08.11 |
07.24. 프로그래머스 : 이진수 더하기 (0) | 2023.07.24 |
07.22 - 23. 프로그래머스 : 직사각형 넓이 구하기, 연속된 수의 합 (0) | 2023.07.23 |
07.21. 프로그래머스 : 숫자 찾기, 문자열 정렬하기(2), 머쓱이보다 키 큰 사람 (1) | 2023.07.21 |
Comments