분류 전체보기
[백준]1946 - 신입사원
import sys t = int(sys.stdin.readline().strip()) for _ in range(t): n = int(sys.stdin.readline().strip()) worker = [[int(x) for x in sys.stdin.readline().split()] for _ in range(n)] worker.sort() min_ = workers[0][1] cnt = 1 for i in range(n): rank = workers[i][1] if rank < min_: min_ = rank cnt += 1 print(cnt)
[백준] [파이썬] 11497 - 통나무 건너뛰기
드디어 혼자 풀었다. 너무 행복하다... 여기서 내가 구글링했던 정보들 1. 배열요소 앞, 뒤 추가 deque를 import 해와서 앞뒤에 값을 추가해주는 appendleft() , append()를 사용했다. 정보를 내가 원하는대로 정렬한 뒤 다시 list에 담아서 다음 작업을 진행했다. from collections import deque my_list = [2, 9, 3] deq = deque(my_list) deq.appendleft('a') new_list = list(deq) print(new_list) 2. 절대값 abs('원하는값') 3. 나의 제출 코드 import sys from collections import deque #절대값 abs(,,) n=int(sys.stdin.readli..
[책][타이탄의 도구들] #1
- 담대한 목표를 가진 사람일수록 디테일에 강하다. - 성공은 당신이 그걸 어떻게 정의하든간에, 올바른 경험으로 얻어진 믿음과 습관들을 쌓아가다 보면 반드시 성취할 수 있다. - 헤르만 헤세 나는 생각한다 (결정을 내릴 때 좋은 원칙을 갖는것, 나와 다른사람들을 위해 좋은 질문을 갖는것) 나는 기다린다 (장기적인 계획,멀리보고 게임을 즐기는것, 에너지를 낭비하지 않는것) 나는 금식한다 (어려움과 시련을 견딜 수 있는것) - 운이 좋았을 수도 있지만, 우연히 생긴일은 아니다. [승리하는 아침을 만드는 5가지 의식] 1. 잠자리를 정리하라(3분) 2. 명상하라(10~20분) - 명상은 인간의 모든 능력을 향상시키는 '원천기술' - 자기삶의 지휘관이 되는건 중요한 일이다. 전체 지도를 살펴보며 수준높은 의사결..
[백준][파이썬] - 1263 시간관리
원리는 알겠는데 내마음대로 while문과 for 문을 사용한다는게 어려웠다. 지금 잘못된게 있는데 안보인다 내일 다시 봐야지 import sys n=int(sys.stdin.readline()) todo=[] for x in range(n): input_list=list(map(int,sys.stdin.readline().split())) input_list.reverse() todo.append(input_list) todo.sort() print(todo) time=0 while True: sumtime=time for x in todo: if (time + x[1])
[백준] 3107
ip = list(input().split(":")) index = 0 ans = ['' for _ in range(8)] flag = 0 for i in range(len(ip)): if len(ip[i]) == 4: ans[index] = ip[i] index += 1 elif len(ip[i]) > 0: ans[index] = '0' * (4 - len(ip[i])) + ip[i] index += 1 else: # len(ip[i]) == 0 if flag == 0: for j in range(8 - len(ip) + 1): ans[index] = '0000' index += 1 flag = 1 else: ans[index] = '0000' index += 1 for i in range(len(an..
[백준] 1522 - 슬라이딩 윈도우
a가 연속적이여야 한다는 말은 a가 a의 개수 만큼 연속적으로 위치해야 한다는 뜻이다. 예를 들어, "ababa" 라는 문자열이 있다면, a가 3개이므로 "aaabb", "baaab", "bbaaa".... 등 a가 3개 연속적으로 위치해야한다. 따라서, 인덱스 0 부터 끝까지 a의 개수 만큼의 길이를 슬라이딩 윈도우로 생각하고 b의 개수를 세면 b를 교환하면 된다. 예를 들어, "ababa" 라는 문자열이 있다고 하자. 이때 a의 개수는 3개이다. 인덱스 0 : ababa -> b가 1개 -> 한 번의 교환 필요 인덱스 1 : ababa -> b가 2개 -> 두 번의 교환 필요 인덱스 2 : ababa -> b가 1개 -> 한 번의 교환 필요 인덱스 3 : ababa -> b가 1개 -> 한 번의 교환..
[백준]1254 - 팰린드롬 만들기
- 반복문을 통해 문자열의 문자를 확인한다. - i번째로 시작한 문자열과 i번째로 시작한 문자열을 뒤에서부터 확인한 문자열을 비교한다. - 두 문자열이 같을 경우 i번째 이전에 문자들을 문자열 뒤에 추가하면 팰린드롬을 만들 수 있다. - 현재 문자열의 개수와 i번째 이전에 문자의 개수를 더해서 출력한다. import sys word = str(sys.stdin.readline().rstrip("\n")) # 반복문을 통해 문자를 확인 for i in range(len(word)): # i번째로 시작한 문자열과 i번째로 시작한 문자를 뒤에서부터 확인한 문자열을 확인 # 같을 경우 i번째 이전에 문자가 다른 것으로 문자열 뒤에 추가해주면 된다. if word[i:] == word[i:][::-1]: prin..
[Django] Social Login 이후 추가정보 입력 로직
1. 클라이언트에서 소셜로그인 서비스 인증 2. 액세스 토큰 받아서 서버에 전달 3. 서버에서 해당 서비스로 토큰 전달하여 유니크키 호출 4. 유니크키가 디비에 있으면 가입된 유저로 로그인 5. 유니크키가 디비에 없으면 가입되지 않은 유저라고 api 응답 6. 클라이언트 가입절차 및 요청 7. 서버에서 유니크키와 함께 유저 정보 저장.
KMP 알고리즘 : 문자열 검색 알고리즘 (백준-16916)
▶N문자열에서 M문자열을 검색할 때? 가장 단순한 문자열 검색 : O(NM) KMP 알고리즘 : O(N+M) [PI 배열] pi[i]는 주어진 문자열의 0~i 까지의 부분 문자열 중에서 prefix == suffix가 될 수 있는 부분 문자열 중에서 가장 긴 것의 길이 (이때 prefix가 0~i 까지의 부분 문자열과 같으면 안된다.) [KMP 알고리즘] - j-1번째 까지 탐색을 했는데 문자열이 일치 했고 j번째 문자열에서 i번째 문제열과 다를 경우 -> 0~j-1번째 까지의 pi배열에서 패턴이 있는지 확인한다. -> 즉 pi[j-1]값이 있는지 확인(코드에서는-> j>0 이 부분) 1, k라는 값이 있다면 j는 k라는 값을 가지게 되고 j번째 문자열과 i번째 문자열을 비교한다! => 이 때 j가 0보..
220628 [화] View 좋은 카페에서 좋은 개발을
#일산카페 View [주간 계획] [ Spring 강의 ] : 백기선 https://www.inflearn.com/course/spring [ 알고리즘 ]: 그날꺼 기록하기 (야무지게) [ 아이디어톤 ] : API 명세서, DB 설계, 기능 레퍼런스 찾아보기 [ CS 전공지식 ] : 2장 진행中,, [ 일정 ] 월 화 수 목 금 토 일 10시 : 아이디어톤 회의 1~5시 : 아이디어톤 회의 7~10시 : 멋사 세션 9시 : java 스터디 [ 알고리즘 ] 월 화 수 목 금 토 일 https://www.acmicpc.net/problem/16916 https://www.acmicpc.net/problem/1254 https://www.acmicpc.net/problem/1522 https://www.acm..