[Syntax 2] List comprehension (리스트 축약)
l = [1,2,3,4,5] [i ** 2 for i in l if i % 3 != 0] 1. 리스트 컴프리핸션 DEF : [출력 반복문 .... 반복문 조건] 리스트 컴프리핸션을 사용시 장점은 위와 같이 반복문 사용할때보다 코드가 훨씬 간결해진다. 위 코드는 3의 배수를 제외한 나머지 값들을 제곱해서 출력하는 코드이다. (아래의 코드와 비교해보라) l = [1,2,3,4,5] l2 = [] for i in l: if i % 3 != 0: l2.append(i ** 2) l2 2. 리스트 컴프리핸션의 해석 [i * j for i in range(2, 5) for j in range(2, 5)] 위의 자료는 다음과 같이 해석하면된다. 순서 1. for i in range(2,5) 순서 2. for j in..
더보기
[Syntax 1] Shallow copy & deep copy[얕은 복사 & 깊은복사]
def copy_function(option, list_data): if option == "shallow": list_data.sort() return [list_data[0], list_data[-1]] elif option == "deep": a = list(list_data) a.sort() return [a[0], a[-1]] else: print("Error") l = [77,2,364,55,3] print("deep copy : ", copy_function(option="deep", list_data = l),"\n", "copy list id :", id(copy_function(option="deep", list_data = l)), "\n", l, "\n") print("shallow..
더보기
[11654],[100809] : 백준알고리즘 - 문자열 사용하기
문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. print(ord(input())) 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장..
더보기
[1152],[2577], [8958],[2920],[10039] 백준알고리즘 : 1차원 배열 사용하기
문제 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 출력 첫째 줄에 단어의 개수를 출력한다. a = input().split() print(len(a)) 문제 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오...
더보기