프로그래밍/Python 85

파이썬 개념 - dictionary(딕셔너리)와 items() 함수

dictionary key 기반으로 값 저장하는 배열 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 딕셔너리 선언 dictionary = {"key" : "value1", "key2" : "value2", "key3" : "value3" } # key로 value에 접근 dictionary["key2"] 'value2' # 딕셔너리 출력 dictionary {'key': 'value1', 'key2': 'value2', 'key3': 'value3'} # value에 리스트, 딕셔너리도 가능 dic = {"key" : "value1", "key2" : ['you','can','use','list','in','dictionary']} dic["ke..

파이썬 개념 - list와 enumerate( ) 함수

enumerate( ) 함수 파이썬 리스트에서 인덱스와 요소를 쉽게 반복할 수 있도록 하는 함수 리스트에서 인덱스와 요소 값을 모두 출력하려고 할때, 아래 세 가지 방법 모두 같은 결과를 출력한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 sample_list = ['element1', 'element2', 'element3'] # 방법 1 : 리스트 반복해서 전체 출력, 인덱스 i는 0부터 1씩 증가 i = 0 for item in sample_list: print('{}번째 요소 : {}'.format(i, item)) i += 1 # 방법 2 : 리스트 길이만큼 반복해서 출력, 리스트 인덱스 지정해 값에 접근 for j in range(len(sample_li..

프로그래머스_python lv0. 배열 뒤집기

https://school.programmers.co.kr/learn/courses/30/lessons/120821 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 답안 : 1 2 3 4 5 def solution(num_list): answer = [] for i in range(len(num_list)-1,-1,-1): answer.append(num_list[i]) return answer cs 주어진 num_list의 마지막 인덱스(= len(num_list)-1) 부터 num_list[0]까지 거꾸로 접근해서 나온 값들을 answer에 인덱스 ..

파이썬 개념 - range, reverse, for-continue

- range : 범위 지정 3가지 형태 가능 - for문에서 반대로 범위 지정 range 3번째 인자를 음수로 하거나 reversed 함수 사용 1 2 3 4 5 6 7 8 9 # 5부터 -1까지 1씩 감소하며 반복 for i in range(5,-2,-1): print("현재 반복 변수 i : {}".format(i)) print('-------------------------------------') # 4부터 0까지 거꾸로 범위 지정해 반복 for j in reversed(range(5)): print("현재 반복 변수 j : {}".format(j)) cs 실행 결과 ↓ - for문에서 continue 아래 건너뛰고 다음 반복차례로 넘어가는 키워드 1 2 3 4 5 numbers = [2,3,4..

파이썬 개념 - 리스트(추가, 제거, 특정 값 존재 여부 확인, for문)

- 리스트 요소 추가 : append, insert 리스트명.append(요소) : 리스트 뒤에 요소 추가 예) list.append(5) 리스트명.insert(위치, 요소) : 리스트 중간에 요소 추가 예) list.insert(0,5) 리스트명.extend(리스트) : 한번에 여러 요소 추가 가능, 원래 리스트 뒤에 새로운 리스트 요소 모두 추가 예) list.extend([4,5,6]) 리스트 연결 연산자 + 와 extend의 차이 리스트 연결 연산자 : 원본 리스트 변화 없음(비파괴적 처리) extend : 원본 리스트 변함(파괴적 처리) - 리스트 요소 제거 인덱스로 제거 : del, pop del 리스트명[인덱스] : 특정 인덱스 요소 제거 예) del list[1], del list[3:6]..

프로그래머스_python lv0. 문자 반복 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/120825 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 답안 : 1 2 3 4 5 6 7 8 def solution(my_string, n): answer = '' for i in my_string: for j in range(1,n+1): answer += i return answer cs my_string에 들어있는 글자 하나씩 n번 반복해서 answer 배열에 추가하는 코드이다. 배열 끝에 원소를 추가할 때 더하기로 가능하다는 것(6번째 줄..

프로그래머스_python lv0. 나이 출력

https://school.programmers.co.kr/learn/courses/30/lessons/120820 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 답안 : 1 2 3 def solution(age): answer = 2022-age+1 return answer cs 2022에서 나이를 빼면 0살인 해가 나오는데, 우리나라는 태어난 해에 1살이라고 하므로 1을 더해준다. 개선안 : 간단한 연산이라 개선할 것이 없다.

프로그래머스_python lv0. 아이스 아메리카노

https://school.programmers.co.kr/learn/courses/30/lessons/120819 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 : 1 2 def solution(money): return divmod(money, 5500) cs 전에 정리한 적 있는 divmod 함수를 이용해서 짧게 풀었다. 개선안 : 1 2 3 def solution(money): answer = [money // 5500, money % 5500] return answer cs 개선안이라기보다는 divmod를 사용하지 않는 방법이다.

프로그래머스_python lv0. 옷가게 할인받기

https://school.programmers.co.kr/learn/courses/30/lessons/120818 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 답안 : 1 2 3 4 5 6 7 8 def solution(price): if price>=100000: if price>=300000: if price>=500000: return int(0.8*price) # 구매액 50만 이상일 경우 리턴 return int(0.9*price) # 구매액 30만 이상일 경우 리턴 return int(0.95*price) # 구매액 10만 이상일 경우 ..