파이썬

    [Python] 슬라이싱 (Slicing) 기본과 예제

    정의 슬라이싱(slicing) or 슬라이스(slice): 연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다. 슬라이싱을 하면 새로운 객체를 생성하게 된다. 즉, 일부분을 복사해서 가져온다고 생각하면 된다. 기본 사용법과 형태 기본 형태 a라는 연속적인 객체들의 자료구조(예: 리스트, 튜플, 문자열)가 있다고 가정을 했을 때 기본 형태는 아래와 같다. a[start : end : step] 각각 start, end, step 모두 양수와 음수를 가질 수 있다. start: 슬라이싱을 시작할 시작위치다. end: 슬라이싱을 끝낼 위치로 end는 포함하지 않는다! step: stride(보폭)라고도 하며 몇개씩 끊어서 가져올지와 방향을 정한다..

    파이썬으로 문제 풀 때 주의해야할 점들

    1. input() 말고 sys.stdin.readline() 를 사용하자. 결론만 말하자면, 입출력 속도가 다음과 같다. sys.stdin.readline() > raw_input() > input() 뭐 어느정도로 더 빠르고 느리냐는, 코딩 테스트 문제푸는 수준에서 다룰만한 내용이 아니므로 넘어가도록 하고, 직관적으로만 느꼈던 것은, input() 으로 코드를 제출할 시, 시간초과가 뜨지만, sys.stdin.readline() 으로 제출할 시 정답이 뜨더라는 것이다. 이와 비슷한 이슈는 이미 이전부터 있었다. 참고 링크 : https://www.acmicpc.net/board/view/19327 한편, 나는 입출력을 지금까지 이런 방식으로 했다. a = [int(x) for x in input()...

    파이썬 1157 - 단어 공부

    str=input().lower() wordList=list(set(str)) cnt=[] for i in wordList: tmp=str.count(i) cnt.append(tmp) if cnt.count(max(cnt)) >= 2: print('?') else: print(wordList[(cnt.index(max(cnt)))].upper())

    [Python] 1759 - 암호만들기

    from itertools import combinations l , c = map(int, input().split()) letters = sorted(input().split()) words = combinations(letters, l) for word in words: cnt = 0 for i in word: if i in "aeiou": cnt += 1 if cnt >= 1 and l - cnt >= 2: print("".join(word))

    [Python] 기본 자료형 1(숫자형, 문자열, bool형, None)

    [숫자형] 숫자형에는 int(정수형), float(실수형), complex(복소수)가 있다. - integer(정수형) 말 그대로 양의 정수, 음의 정수, 0을 포함하는 자료형이다. a = 123 b = -123 c = 0 파이썬 2.x 버전에서는 엄청 큰 숫자를 담기 위한 long 타입이 존재했지만, 3.x부터는 long 타입이 사라지고, int 타입이 크기 제한이 없는 부호있는 정수형이 되었다. 파이썬 정수형의 크기는 컴파일러에 의해서가 아닌 컴퓨터 메모리에 의해서만 제한된다. 8진수(ex, 0o65)나 16진수(ex, 0x1FF)로도 표현이 가능하다. a = 0o65 b = 0x1FF - float(실수형) 실수형은 소수점이 포함된 숫자를 의미한다. 다른 언어처럼 float와 double 타입이 따..