얼음녹차의 블로그
article thumbnail
[Programmers][Python] 로그인 성공?

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 루프 문을 작성하여 리스트 db와 입력된 리스트를 비교해본다. 입력된 아이디가 리스트 db에 존재하는지 체크한다. 입려 된 아이디가 있다면 패스워드가 일치하는지 체크한다. def solution(id_pw, db): for i in db: if id_pw[0] == i[0]: if id_pw[1] == i[1]: return "login" return "wrong p..

article thumbnail
[Programmers][Python] 영어가 싫어요

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120894 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 변환될 문자열과 변환할 문자열 리스트 테이블을 각각 생성해 준다. Replace 함수를 이용하여 각 문자열에 대해 변환하는 루프문을 작성해 준다. Replace 함수는 문자열에서 문자열로 밖에 변환이 되지 않으므로 주의해 준다. def solution(numbers): num_en = ["zero", "one", "two", "three", "four", "five"..

article thumbnail
[Programmers][Python] 2차원으로 만들기

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 값을 집어넣을 리스트를 길이에 맞게 생성해 준다. 각 행의 길이가 n이므로, 열의 길이는 num_list의 길이를 n으로 나눈 몫을 통해 구해준다. 몫을 구하는 것이 정수형 그대로 쓸 수 있기 때문에 사용 2차원 리스트를 [[0]*n]*m 식으로 생성해 버리면 안쪽의 리스트들이 주소를 공유하기 때문에 사용하면 안 된다. 리스트 컴플리핸션으로 작성하여 구현해 주자 nu..

article thumbnail
[Programmers][Python] 대충 만든 자판

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 알파벳의 매핑 테이블을 제작 테이블의 주소는 알파벳의 순번, 요소 값은 버튼을 누르는 최솟값이 됨 초기값으로 101을 대입한 이유는 keymap의 길이가 100까지이기 때문에 없는 알파벳이면 101을 나타냄 키맵마다, 키맵의 철자에 대응되는 매핑 테이블의 주소에 값을 삽입 Min 함수를 이용하여 지금까지 버튼을 누른 횟수와 기록된 최소값을 비교한 후 삽입 타겟의 철자..

article thumbnail
[Programmers][Python] 문자열 밀기

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 경우의 수를 체크해 보기 위해 문자열 A의 길이만큼 반복문 시행 i 만큼의 A문자열 뒤에 있는 문자열을 잘라 앞으로 붙이고 문자열 B와 비교한다. 비교문이 참이면 i만큼 문자열을 밀었다는 것으로 변수 i의 값을 반환한다. 모든 경우에서 비교문이 참이지 않으면 -1을 반환하게 된다. def solution(A, B): for i in range(len(A)): if B..

article thumbnail
[Programmers][Python] 잘라서 배열로 저장하기

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/120913# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 리턴값을 list로 작성하기 위해 list 컴프리헨션으로 작성한다. 문자열을 n간격으로 자르기 위해 변수 i에 대해 i*n부터 i*n+n-1까지 자르게 설정한다. 변수 i를 슬라이싱의 횟수로 범위를 정한다. def solution(my_str, n): answer = [my_str[i*n:i*n+n] for i in range((len(my_str)+n-1)//n)..

article thumbnail
[Programmers][Python] 진료순서 정하기

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/120835 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 emergency 리스트 요소의 숫자가 클 수록 진료순서의 오름차순의 순서를 받는다. 딕셔너리로 리스트 요소를 key로, 순서를 value로 인덱싱을 한다. 이때 큰 숫자가 낮은 값을 배정 받기 위해 순서값 i를 1부터 리스트의 길이까지 역순으로 인덱싱을 하였다. Sorted 함수를 이용하여 item들의 순서를 정렬한다. Sorted 함수는 기본적으로 오름차순 딕셔..

article thumbnail
[Programmers][Python] K의 개수

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 Range 함수를 이용해 i부터 j까지의 수를 for문을 이용해 차례로 변수 a에 대입 Str 함수와 for 문을 이용해 변수 b에 각 자리 숫자를 슬라이싱 하여 대입 Str 타입인 b를 다시 int 타입으로 바꾸어 주어 k와 같은지 확인 def solution(i, j, k): answer = 0 for a in range(i, j+1): for b in str(..

article thumbnail
[Programmers][Python] 가까운 수

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 n까지의 짧은 거리를 계산하기 위해 절대값 함수(abs())를 사용함 If문에서 리스트 요소 i가 n보다 큰지 작은지와 거리가 지금까지 최소인지 확인 tmp_min에서는 지금까지 제일 가까운 거리를, answer에서는 제일 가까운 수를 기록한다. def solution(array, n): answer = 0 tmp_min = 100 for i in array: a..

article thumbnail
[Programmers][Python] 중복된 문자 제거

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 아스키 테이블을 매핑할 리스트를 생성 리스트는 플래그 체크(문자의 사용 유무) 용도로 사용 중복되지 않으면 빈 문자열에 더해가는 방식 def solution(my_string): asc_lst = [0]*128 answer = '' for i in my_string: if asc_lst[ord(i)] == 0: answer += i asc_lst[ord(i)] =..