목록코딩 (53)
Love Every Moment

출처 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 예제 # 입력 baekjoon # 출력 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 풀이 string = input() # 알파벳(a~z)를 담을 리스트 alphabe..

1. 튜플과 리스트의 차이 튜플은 리스트와 매우 유사하지만, 두 가지 차이점이 있다 첫 번째는 리스트가 대괄호[] 를 이용한다면 튜플은 소괄호() 를 사용한다는 것, 두 번째는 리스트는 변경 가능(mutable)하지만 튜플은 변경 불가능(immutable)하다는 것이다 튜플이 immutable 하다는 특징 때문에 위와 같이 리스트에서 사용 가능했던 sort(), append(), reverse() 가 튜플에서는 사용 불가능 이 특성 때문에 튜플은 메모리나 퍼포먼스 면에서 리스트보다 효율적이며 임시 변수를 만들 때에는 리스트보다 튜플이 선호된다 l = list() dir(l) # ['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reve..

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 를 순회하여 끝..