
리트코드 127 Word Ladder (파이썬)
2022. 10. 8. 22:32
리트코드
https://leetcode.com/problems/word-ladder/ Word Ladder - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 및 해설(주석) import collections class Solution(object): def ladderLength(self, beginWord, endWord, wordList): if endWord not in wordList: return 0 # {*ot:[hot, dot], h*t:[hot, hi..

백준 17471 게리맨더링 (파이썬)
2022. 10. 8. 19:33
백준
아이디어 itertools를 사용해 구역의 조합을 구한다. 두 구역이 연결되어 있는지 확인해야 한다. 풀이 및 해설 import sys from collections import deque, defaultdict from itertools import combinations # sys.stdin = open('게리멘더링.txt', 'r') # 연결이 되어있는지 확인하는 함수 def is_connected(group): Q = deque() Q.append(group[0]) visit = [0] * (N+1) visit[group[0]] = 1 while Q: u = Q.popleft() for v in graph[u]: if v in group and visit[v] == 0: Q.append(v) vi..

백준 14501 퇴사 (파이썬)
2022. 10. 8. 16:57
백준
풀이 및 해설 import sys sys.setrecursionlimit(10**6) # index = 현재 일정, profit = 현재까지의 수익 def solve(index, profit): global rst # index가 초과하면 rst를 갱신 if index >= N: rst = max(rst, profit) return # 상담 소요일 now_num = meeting[index][0] # 상담 수익 now_profit = meeting[index][1] # 현재 상담을 안하고 다음날로 넘어가기 solve(index+1, profit) # index에러 방지 == 상담 할 수 있는 경우 if now_num + index

SWEA 2115 벌꿀채취 (파이썬)
2022. 10. 6. 17:23
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 아이디어 일단 조합을 사용해야겠다는 생각이 들었다. itertools를 사용하자. 완전탐색해서 먼저 첫 번째 일꾼의 꿀을 찾고, 그 구역을 -1로 처리해서 두 번째 일꾼이 -1 부분은 채취하지 못하게 한다. 풀이 from itertools import combinations # 숫자를 담은 리스트를 넘겨주면 그 숫자들의 모든 조합에서 최대의 꿀 값을 찾아낸다. def comb(nums): candi..

SQLite 특정 데이터 수정하기
2022. 10. 4. 21:36
SQLite
예시 CREATE TABLE zoo ( name TEXT NOT NULL, eat TEXT NOT NULL, weight INT NOT NULL, height INT, age INT ); INSERT INTO zoo (name, eat, weight, height) VALUES ('rabbit', 'herbivore', 3, 150), ('eagle', 'carnivore', 8, 75), ('alligator', 'carnivore', 250, 50); -- 토끼의 키를 15로 수정 UPDATE zoo SET height = 15 WHERE name = 'rabbit';

SQLite NULL값 변경하기
2022. 10. 4. 21:32
SQLite
UPDATE 테이블이름 SET 컬럼='변경할 값' WHERE 컬럼 IS NULL; 예시 UPDATE users SET phone = '알 수 없음' WHERE phone IS NULL;

SQLite 데이터 수정, 삭제하기
2022. 10. 4. 21:27
SQLite
-- 2번 데이터의 이름을 '김철수한무두루미', 주소를 '제주도'로 수정하기 UPDATE classmates SET name='김철수한무두루미', address='제주도' WHERE rowid = 2; -- 5번 데이터 삭제하기 DELETE FROM classmates WHERE rowid = 5; SELECT rowid, * FROM classmates; -- 이름에 '영'이 포함되는 데이터 삭제하기 DELETE FROM classmates WHERE name LIKE '%영%'; -- 테이블의 모든 데이터 삭제하기 DELETE FROM classmates;

SQLite 테이블에 데이터 삽입하기
2022. 10. 4. 21:27
SQLite
INSERT INTO classmates VALUES ('홍길동', 23, '서울'); -- 여러 행 삽입하기 INSERT INTO classmates VALUES ('박씨', 13, '서울'), ('김씨', 22, '대전'); INSERT INTO classmates VALUES ('김철수', 23, '경기'), ('이영미', 22, '강원'), ('박진성', 26, '전라'), ('최지수', 12, '충청'), ('정요한', 28, '경상');