'분류 전체보기' 카테고리의 글 목록 (8 Page)
본문 바로가기
반응형

분류 전체보기147

[프로그래머스] 이상한 문자 만들기(파이썬 오류나는 이유) 프로그래머스 Level 1 이상한 문자 만들기 이상하게 분명 test는 통과하는데 혼자 돌려본 테스트도 다 통과인ㄷ ㅔ !!! 문제 제출만 하면 오류가나서 31%? 정도밖에 점수가 나지 않는다. 아무리 봐도 이상할게 없는데....... 질문하기 섹션에서 뭔가 놓친게 있나 보는데 어떤 분이 split() 으로 쓰면 안되고 split(' ') 으로 써야 한다고 팁을 전수 ! 바로 실행해보니 통과했다.. (°ロ°) 나의 코드 def solution(s): a = s.split(" ") b = '' for i in a: for j in range(len(i)): b += i[j].upper() if j%2==0 else i[j].lower() b += ' ' return b[:-1] 오류가 계속 난 이유 .sp.. 2021. 6. 20.
[Python]파이썬, 왜 리스트대신 큐/ 데크 deque 를 쓸까? Python deque deque 라는 것은 쉽게 말하자면 파이썬의 list 와 같이 요소들을 한 곳에 담아두는 배열이다. 파이썬에서 큐 queue는 First In First Out (FIFO) 의 방식으로 작동된다. 덱(데큐)는 큐는 큐이지만 양방향인 queue이다. 양 쪽 방향 모두에서 (앞, 뒤) 요소를 추가/ 제거할 수 있다. List도 있는데 굳이 deque를 사용하는 이유는 ? 간략하게 말하자면 List 보다 deque의 속도가 훨씬 빠르기 때문이다. list는 O(n) 의 속도, deque는 O(1)의 속도이다. 요기 표에서 보다시피 O(1)의 속도가 가 - 장 좋은 best 속도이다. 그게 바로 deque ! 연산이 많을수록 안쓸 이유가 없다. 처음 deque알고리즘을 풀어보며 왜 리스트.. 2021. 6. 17.
[백준] 파이썬 11866번 요세푸스 문제 0 코드 : from collections import deque n, k = map(int,input().split()) que = deque() for i in range(1,n+1): que.append(i) print('') list 보다 성능이 좋은 que를 사용 1~n 까지의 수를 que 라는 deque에 담기 que 안의 값이 있는 동안 k-1 번 동안 que의 첫번째 원소를 제거 --> 출력해야하는 k번째 요소가 나오게됨 if que: 만약 que에 요소가 있다면 , 컴마 붙여서 print하고 요소가 없다면 (마지막것이 방금 출력되어) 그냥 출력되고 > 가 붙어 마무리된다. 2021. 6. 16.
[Python] 파이썬 zip() 매서드 사용법 Python .zip() 매서드 매서드 풀이 zip() - 동일 개수로 이루어진 자료형을 묶어 주는 함수 zip -> zipper 지퍼처럼 각각 리스트에 있는 요소를 담아 지퍼로 잠가 보관하는 느낌 같다! 반환값 : 두 개 이상의 리스트의 값의 같은 인덱스 짝별로 묶어 튜플에 담아 반환 * 만약 인덱스 짝이 없다면 짝이 있는 부분만 return (나머지는 버려짐) 예제 1. 두 개의 리스트뿐만 아니라 여러개의 리스트도 인덱스, 짝이 맞으면 zip 으로 묶을 수 있다. d 의 경우 'D' 네번째 요소는 버려진다. (짝이 없기때문) a = [1,2,3] b = ['a','b','c'] c = ['*','*','*'] d = ['A','B','C','D'] print(zip(a,b)) print(list(zi.. 2021. 6. 16.
[백준] 2623번 음악 프로그램 / 위상 정렬 알고리즘 위상 정렬을 모르면 정말 풀기 힘든 문제이다. 유튜브 강의를 듣고 공부하고 참고해서 코드를 작성했다. 파이썬 코딩테스트 2주차, 처음 위상 정렬을 접해보니 정말 어려웠다. 요 개념은 따로 포스팅을 자세하게 하면서 공부해봐야겠다! 나의 코드 : from collections import deque node,count = map(int, input().split()) connected = [0]*(node+1) graph = [[] for _ in range(node+1)] #connected = 모든 노드에 대한 진입차수 0으로 초기화 #graph = 각 노드에 연결된 간선 정보를 담은 연결 리스트 초기화 #방향 그래프의 모든 간선 정보 입력 받기 for _ in range(count): A = list(.. 2021. 6. 16.
[python] 합집합, 교집합, 차집합, 대칭차, 다중 집합의 합집합, 교집합까지 총 정리 / 파이썬 중복 집합 python 포스팅 목차 1. 파이썬 리스트 합집합, 교집합, 차집합, 대칭차 정리 2. 파이썬 리스트 다중 집합의 합집합, 교집합 정리 3. 2018 카카오 블라인드 코딩테스트에 쓰인 다중 집합 합집합, 교집합 분석 2018년 kakao blind 코딩 테스트 문제 [ 1차 뉴스 클러스터링 ] 을 풀면서 다중 집합이라는 개념을 처음 알게되었다. 겸사겸사 공부겸 정리해보고 요 개념이 어떻게 코딩테스트에 나왔는지도 분석해보기 ! 아래 코드는 리스트를 기준으로 작성했지만 set을 기반으로 (?) 변형시킨 것이기 때문에 set의 합집합, 교집합, 차집합, 대칭차집합이라고 볼 수 있다. 1. Python, 파이썬 리스트 합집합, 교집합, 차집합, 대칭차 정리 합집합 list a와 b 를 set으로 중복을 제거하.. 2021. 6. 15.
[프로그래머스] 파이썬 [1차] 뉴스 클러스터링 / 2018 카카오 kakao blind 코딩 테스트 문제 풀이 문제 설명 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018 신입 개발자 뽑는다" 기사의 제.. 2021. 6. 14.
[Python] math.gcd & math.lcm 최대공약수 최소공배수 한번에 쉽게 구하기 지난번 유클리드 호제법을 이용해 파이썬으로 최대공약수, 최소공배수 구하는 포스팅을 썼었다. https://codingpractices.tistory.com/34 [Python] 최소공배수, 최대공약수란? 파이썬 알고리즘으로 쉽게 구현하기 / for문, 유클리드 호제법 최대공약수란 ? GCD (Greatest Common Divisor) Common Divisor -> 라는 이름에서 알 수 있듯이 두 수 혹은 그 이상의 여러 수의 공통인 약수 중, 최대인 것. 즉, 수들의 각각의 약수 중 공통이며 가장 큰 수를.. codingpractices.tistory.com 그런데 ! Math 함수를 통해 최대 공약수를 구하는 아주아주 쉬운 방법을 찾았다. mah.gcd 최대 공약수 구하기 Greatest Commo.. 2021. 6. 13.
[Python] 전역 변수 지역 변수 사용법 총 정리/ global, nonlocal Python, Global variable = 파이썬 전역 변수란 ? - Global scope, 전역 범위에서 활동하는 변수. 전역 범위란 함수를 포함하여 스크립트 전체에서 모든 요소에 해당 변수에 접근할 수 있도록 하는 것이 전역 변수이다. 위의 a 는 전역 변수이다. 실행하는 파이썬 전체 영역에서 사용할 수 있기 때문에 이름도 '전역'으로 전체 영역으로 생각하면 쉬울 것 같다. a = 1 이라고 전역변수 a를 첫 줄에 선언하고 그리고 함수 Fn 에서 해당 전역 변수 a의 값을 print 하라고 설정했다. 전역변수이므로 6, 7번 줄에서 모두 출력이 된다! 전역 변수의 범위 Python, Local variable = 파이썬 지역 변수란 ? - 지역 변수란 Local scope, 지역 범위에서만 영향.. 2021. 6. 13.
[백준] 10250번 파이썬 : ACM 호텔 /python 코드 1 : n = int(input()) for i in range(n): h,w,n = map(int,input().split()) a = n%h b = n//h+1 if a==0: a = h b -= 1 print(a*100+b) 코드 풀이 : h 높이, w 너비, n 몇 번째 손님인지 주어진다. a의 변수에 n%h 몇 번째 손님인 n을 높이로 나눈 나머지 값을 담고 b 변수에는 해당 나눈 몫에 +1을 해서 담는다 304호 라면 a = 3 b = 4 만약 n과 h가 딱 떨어지게 나눠지게되면 n 손님은 h 높이 (호텔의 꼭대기층) 을 배정받게 된다. 그럼 a 값이 0 이되니 a 가 ==0일 때 h로 값을 담고 b 에는 -1을 해준다. 그리고 a* 100 + b로 프린트 ! 코드 2 : n = int(.. 2021. 6. 11.
[백준 1712번] 파이썬 풀이 python 나의 코드 a,b,c = map(int,input().split()) print(-1 if b>=c else int(a/(c-b))+1) b와 c가 같거나 / b가 c보다 더 클 경우 , 아무리 많은 노트북을 만들어내도 고정비용때문에 손해이다. -> pint(-1) 2021. 6. 11.
[Python] 파이썬 문자열 공부 파이선 코딩테스트 공부하다가 문자열 문제에서 계속 막혀서 문자열이 문제구나 ! 생각되어 공부겸 정리해보기👩‍💻 문자열 기초 문자열은 ' ' 작은따옴표 안에 쓰거나 " " 큰 따옴표 안에 숫자 / 문자 / 기호를 쓰는 모든 것이 문자열이다. ' 로 시작하면 '로 끝나고 "로 시작하면 "로 끝나야 한다. 파이썬 문자열의 특징은 사칙연산 중 더하기, 곱하기가 된다는 것이다 ! # \뒤에 특수문자로 취급되지 않게 # 첫 따옴표 앞에 r을 붙이면 raw string 이 된다. print('C:\some\name') print(r'C:\some\name') print() print('여러 줄 편하게 쓰기 ') print('---') print(''' Usage: thingy [OPTIONS] -h Display t.. 2021. 6. 10.
[Python] 파이썬 리스트 [::] 사용법 예제 extended slices Python array [::] 용법 기본 구문 리스트 or 문자열[a:b:c] array/ string[a:b:c] 풀이 => index a 부터 index b까지 c 간격으로 배열을 만들어라 a = [0,1,2,3,4,5,6,7,8,9] print(a[0:6:2]) # [0,2,4] 리스트/ 문자열의 인덱스 0 번째부터 (6-1) 5번째(5)까지 2칸 간격으로 리스트를 만든다. 예제 - 리스트 a = [0,1,2,3,4,5,6,7,8,9] print(a[::1]) #처음부터 끝까지 하나씩 print(a[5::1]) # 5번째부터 끝까지 print(a[::2]) #처음부터 끝까지 두 칸씩 print(a[1::2]) #index 1번부터 끝까지 두 칸씩 print(a[::-1]) # 역순으로 print(.. 2021. 6. 9.
[백준 4673번] 셀프 넘버 백준 4673번 셀프 넘버 처음에 이 많은걸 다 for로 돌리진 않겠지, 무슨 공식이 있지않을까 고민고민하다가 찾아보니 결국 모두 계산하는 방법이었다 ! 1. set을 활용한 방법 a = set(range(1,10001)) you = set() for i in a: for j in str(i): i += int(j) if i 이렇게 만들어진 i 는 생성자가 있는 수이므로 you 자료 집합형에 넣어둔다. 그리고 1~10000에서 생성자가 있는 수의 집합인 you 를 빼면 나머지 생성자가 없는 숫자들이 남고 이를 sorted 로 차례대로 print해주면 된다. 2. list 활용법 a = list(range(1,10001)) you = [] for i in a: for j in str(i): i += int.. 2021. 6. 8.
[Python]숫자, 문자열에 0 또는 다른문자 채우기 .zfill() .rjust() .ljust() .center() Python .zfill() .rjust() .ljust() .center() 모두 문자열 타입 매서드이다. 매서드 풀이 .zfill() 은 지정한 자리수 중, 모자란 자리수에는 0을 채워준다. .zfill(n) format 인자값 : 정수 반환값 : 문자열 print(format(123, '4')) print(format(123, '04')) print(format(123, '10')) print(format(123, '010')) print(type (format(123, '05'))) print('{0:4d}'.format(123)) print('{0:04d}'.format(123)) print('{0:10d}'.format(123)) print('{0:010d}'.format(123)) print.. 2021. 6. 6.
반응형