목록파이썬 (38)
Love Every Moment
1. 딕셔너리 순서가 없는 가방과 같은 개념 물건에 라벨을 붙여놓으면 다음에 그 물건을 찾기가 쉽다! (key - value) purse = dict() 로 빈 딕셔너리를 생성 purse['money'] = 12 와 같이 사용 2. 리스트와 딕셔너리의 차이 리스트는 lst[0] 처럼 숫자를 키로 사용 딕셔너리는 ddd['age'] 처럼 숫자 대신 문자열을 키로 사용 3. 딕셔너리의 특징 프린트 하면 딕셔너리의 내용물을 그대로 똑같이 출력해준다 4. 딕셔너리 내용물 개수 세기 ccc['cwen'] = ccc['cwen'] + 1 처럼 카운트를 증가 하지만, 문제는 딕셔너리에 아직 존재하지 않는 키를 참조하는 것은 오류를 발생시킨다는 것! (1) 첫번째 해결 방법: in in 논리 연산자를 이용하여 딕셔너리..
1. 컬렉션(Collection) 보통의 변수들은 하나의 값만을 가지므로 새로운 값을 넣으면 기존의 값은 덮어씌워진다 하지만 컬렉션은 하나의 변수에 여러 값을 넣을 수 있게 해준다 리스트는 컬렉션의 한 종류! 2. 리스트(List) 리스트 요소들은 대괄호([]) 로 둘러 쌓여 있고, 각 요소들은 쉼표(,)로 구분 리스트 명은 friends, iteration variable 명은 friend 처럼 지으면 사용하기 편하다 리스트는 변경 가능(mutable) 하기 때문에 lotto[2] = 28 처럼 값을 변경할 수 있다! 반면 문자열(string)은 변경 불가능(immutable)하기 때문에 fruit[0] = 'b' 처럼 값을 변경 시도하면 에러가 발생한다 3. range() 리스트에 활용하기 len()..
출처 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하라. 예제 # 입력 110 # 출력 99 풀이 - (1) import sys ..
출처 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 3..
1. 문자열 문자열의 각 요소는 인덱스를 가진다 fruit[0] 은 'b', fruit[1] 은 'a' 이런 식으로 값이 지정된다 len() 의 인자로 문자열을 넘겨주면 문자열의 길이를 반환한다 2. 문자열 순회하기 for 문 또는 while 문 모두 사용 가능하지만, for 문을 사용하는 것이 훨씬 간단하다. 마지막 사진에서의 in 은 논리 연산자로써 사용된 것으로, True/False 를 반환해준다. 3. 문자열 다루기 (1) 문자열 슬라이싱 문자열명[a : b] 의 형식으로 문자열을 a번째부터 (b - 1)번째까지 잘라서 사용 가능하다 b 번째는 포함하지 않고 (b - 1)까지만 포함한다는 것에 유의! (up to but not including) (2) 문자열 합치기 + 연산자를 사용하면 여러 문..
1. while 루프 while : 에서 안의 내용이 참이면 계속해서 반복문을 수행한다 조건문 안의 n 을 Iteration variable 이라고 한다 2. while 루프 제어하기 (1) break 만약에 while True: 와 같이 조건문이 언제나 참인 경우 무한루프에 빠지게 된다 이것을 탈출하기 위해서는 왼쪽 사진과 같이 break 사용이 필요하다 break 를 사용하면 해당 루프를 빠져나오게 된다 (2) continue continue 는 루프의 시작 지점으로 다시 돌아가게 한다 break 는 루프를 아예 탈출하지만, continue 는 아래의 코드는 건너뛰고 다시 루프의 시작점으로 돌아간다는 점이 차이 3. for 루프 for A in B : 의 형식으로 사용하며, A 가 B 를 순회하여 끝..
출처 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 예제 # 입력 5 5 50 50 70 80 100 7 100 95 90 8..
출처 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 예제 # 입력 1 2 3 4 5 6 7 8 9 10 # 출력 10 풀이 - (1) numbers = [] remainders = [] cnt = 10 for i in range(10) : numbers.append(int(input()..