반응형

Python 80

[백준-python] 2675번 : 문자열 반복

https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 www.acmicpc.net 코드 n = int(input()) # 테스트 케이스 개수 for i in range(n): c = input().split() # 입..

[백준-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] 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

[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)

[백준-python] 2447번 : 별 찍기-10

https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 첫째 줄에 N이 주어진다. N은 항상 3의 제곱꼴인 수이다. (3, 9, 27, ...) (N=3k, 1 ≤ k < 8) www.acmicpc.net 코드1_1 - "*"로 다 채워놓은 다음, 빈 칸을 찾아 없애는 방식 n=int(input()) # input arr = [["*"]*n for _ in range(n)] # output array 생성 v=n;cnt=0 while v!=1: # 입력받은 n이 3의 몇승? v/=3 cnt+=1 for cnt_ in range(cnt): idx = [i for i in range(n) if (i // 3 ** cnt_) % 3 == 1] # 빈칸으로 채울 행/열 ..

반응형