반응형

전체 글 213

[백준-python] 10809번 : 알파벳 찾기

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. www.acmicpc.net 코드 print(*map(input().find,map(chr,range(97,123))),sep=" ") 코드설명 단어 "baekjoon"을 예로 설명 소문자 알파벳 리스트 생성 >>> list(map(chr,range(97,123))) # 아스키코드 활용 ['a', 'b', 'c', 'd', 'e',..

[백준-python] 11729번 : 하노이 탑 이동 순서(hanoi top in python)

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5 www.acmicpc.net 코드 # hanoi function def def hanoi(n,a,b,c): if n==1: move.append([a..

[python] list, 문자열 에서 특정 element 개수 찾기 (list.count() in python)

list혹은 문자열에서 특정 element(문자, 단어 등)이 몇개가 있는지 알고 싶을 때에는 list.count() 함수를 쓰면 된다. 예를들어) 123456789s="aAbBcdefggg" print("s.count(\"a\") : ", s.count("a"))print("s.count(\"A\") : ", s.count("A"))print("s.count(\"g\") : ", s.count("g"))print("s.count(\"aA\") : ", s.count("aA")) print("s.count(\"h\") : ", s.count("h"))print("s.count(\"aAa\") : ", s.count("aAa"))cs 의 결과는 다음과 같다. s.count("a") : 1s.count("A..

Python 2019.08.12

[python] list에서 중복 제거하기 (get unique from list in python)

R에서는 unique() 함수로 list에서 고유한 값만 가져올 수 있다. python에서는 list를 set type으로 변경해주면 된다. >>> li = ["a","a","b","b","c","d","d"] >>> li ['a', 'a', 'b', 'b', 'c', 'd', 'd'] >>> set(li) {'d', 'b', 'a', 'c'} 단, set type은 indexing이 안되는 등 제약이 있기때문에 다시 list형으로 돌려주면 좋다. >>> set(li)[0] Traceback (most recent call last): File "", line 1, in TypeError: 'set' object does not support indexing >>> list(set(li))[0] 'd'

Python 2019.08.12

[python] 문자열에서 특정 문자 위치 찾는 방법 (str.find() in python)

[python] 문자열에서 특정 문자 위치 찾는 방법 (str.find() in python) "문자열".find("문자") 로 "문자열"에서 "문자"의 위치를 찾을 수 있다.특정 문자 한 글자도, 단어도 가능한다.단, "문자"가 "문자열"에 포함되지 않을 경우 -1을 return한다. print("abcd efg".find('a')) # 0print("abcd efg".find('b')) # 1print("abcd efg".find('abcd')) # 0 : 'a'의 위치 returnprint("abcd efg".find('d efg')) # 3 : 'd'이 위치 return print("abcd efg".find('z')) # -1print("abcd efg".find('A')) # -1 : 대소문자..

Python 2019.08.12

[기초통계] 수치형 자료(numerical data)와 범주형 자료(categorical data)

자료를 요약하는 방법은 분석의 대상이 되는 자료의 형태에 따라 달라지게 되므로 먼저 자료를 그 형태에 따라 구분해야 한다. 자료는 일반적으로 수치형 자료(numerical data)와 범주형 자료(categorical data)의 두 가지 형태로 구분이 된다. 먼저, 양적 자료(quantitative data)라고도 불리는수치형 자료란? 관측된 값이 수치로 측정되는 자료를 말한다. 예를들어) 키, 몸무게, 시험 성적, 자동차 사고 건수 등이 있다. 수치형 자료를 관측되는 값의 성질에 따라 다시 연속형 자료(continuous data)와 이산형 자료(discrete data)로 구분된다. 연속형 자료란? 키, 몸무게와 같이 값이 연속적인 자료를 말한다. 이산형 자료란? 자동차 사고 건수와 같이 값이 셀 ..

AI/기초통계 2019.08.12

[기초통계] 모집단(Population)과 표본집단(Sample)

새로운 정보나 지식을 얻기 위해서는 관련된 자료를 수집하여햐 하는데,관련된 자료를 모두 수집한다는 것은 불가능하거나 매우 어려운 일이다. 이 때,모집단(Population)이란?얻고자 하는 정보와 관련 있는 모든 개체로부터 얻을 수 있는 모든 관측값들의 집합 또는통계적인 관찰이 되는 집단 전체라고 정의하며, 표본집단(Sample)이란?모집단의 일부분으로, 원하는 정보를 얻기 위해 수행한 관측과정을 통해 실제로 얻어진 관측결과의 집합 또는집단에서 어떤 방법으로 일부를 통계의 자료로 선택한 부분이라고 정의한다. 예를들어,어떤 연구자가 대한민국 남자의 평균 키 에 대해 알고싶다고 가정할 때,모집단은 대한민국 남자 전체이며,표본집단은 그 중 연구자가 실제로 수집한 값이다.

AI/기초통계 2019.08.11 (2)

[기초통계] 통계학이란?

1. 통계학의 어원 - "국가"라는 의미를 갖는 라틴어인 "status"에서 유래 - 주어진 자료를 기초로 해서 보편 타당한 이론을 추론해 내는 학문의 한 분야 2. 통계학의 역할 - 정보를 가지고 있는 자료를 효과적으로 수집하는 과정 - 이러한 자료를 합리적으로 해석하는 과정 - 이 자료로부터 올바른 결론을 유도하는 과정을 총체적으로 다루는 것 3. 통계학의 주된 목표 - 관측값으로부터 효율적인 추론을 할 수 있도록 표본추출의 과정과 범위를 설계한다. - 표본에 포함되어 있는 정보를 분석하여 모집단에 관하여 추론을 한다. 이때 추론에 수반되는 불확실성도 측정한다. 모집단이란? 표본집단이란?

AI/기초통계 2019.08.11

[python] for문, if문 한 줄로 코딩하기 (for and if in one line)

1. for문 - 1차원 list의 각 원소를 한 줄로 출력하기 v = list(range(10)) print(v) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ① 기존 for i in v: print(i) ② 한 줄로 [i for i in v] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 물론 ①도 for i in v : print(i) 와 같이 코딩한다면 한 줄로 코딩 할 수 있으나, 코드가 더 길어질 경우 ②가 훨씬 깔끔하게 짤 수 있으며, 출력의 형태도 다르다. ①에서 출력되는 i의 type은 int형이며, ②에서 출력되는 type은 list이다. ※ 출력 ~.join()으로 좀 더 예쁘게 출력할 수 있다. print(" ".join(str(i) for i in v)) 0 1..

Python 2019.08.09 (2)

[Python] 2차원 배열(리스트) 초기화

python에서 2차원 이상의 배list를 초기화 할 땐 >>> n = 9 >>> arr = [[0]*n for _ in range(n)] 과 같이 해야한다. 그 이유는 만약, >>> arr = [[0]*n]*n 으로 초기화 할 경우 n개의 [0]*n은 모두 같은 객체로 인식되기 때문이다. ex) >>> arr = [[0]*n]*n print('\n'.join([' '.join([str(i) for i in row]) for row in arr])) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ..

Python 2019.08.07 (2)
반응형