반응형

분류 전체보기 166

[BOJ/완전탐색] 15686 치킨배달

https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 풀이 n,m = map(int,input().split()) arr = [list(map(int,input().split())) for _ in range(n)] def length(a,b): return abs(a[0]-b[0]) + abs(a[1]-b[1]) # 도시의 치킨거리 = 모든 집의 치킨거리의 합 # 치킨거리는 집부터 가장 가까운 치킨집 사이의 거리 # 도시의 치..

알고리즘 2023.09.19

[프로그래머스/Lv2] 땅따먹기(동적 프로그래밍)

https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(land): for i in range(1,len(land)): now = land[i] before = land[i-1] now[0] += max(before[1],before[2],before[3]) now[1] += max(before[2],before[3],before[0]) now[2] += max(before[1],before[3],before[0]) now..

알고리즘 2023.09.19

[BOJ/동적 프로그래밍] 14501 퇴사

https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 풀이 n = int(input()) answer = [(0,0)] for day in range(1,n+1): time, price = map(int,input().split()) answer.append((time,price)) dp = [0]*(n+1) for i in range(1,n+1): time = answer[i][0] - 1 price = answer[i][1] day = time+i # 상담을 안하는 날이면 기존값과 전날값중 큰것 비교 dp[i] = max(dp[i-1],dp[i]) if day

알고리즘 2023.09.19

[알고리즘 후기] 구름톤 챌린지(알고리즘 챌린지) 8/14 ~ 9/10

https://9oormthonchallenge.oopy.io/ 구름톤 챌린지 구름LEVEL 알고리즘 먼데이 챌린지가 구름톤 챌린지로 새롭게 찾아왔습니다. 온라인 알고리즘 문제 풀이와 오프라인 팀 챌린지를 모두 즐길 수 있는 구름톤 챌린지와 4주 동안 매일 꾸준히 성장 9oormthonchallenge.oopy.io 소감 4주간에 걸쳐 구름톤 챌린지가 끝이 났다. 매주 48시간 안에 문제를 풀면 블록이란 것을 받을 수 있는데 이를 20개 모으면 다른 챌린지에 도전할 수 있는 기회가 주어진다. 난 문제는 모두 풀었지만 챌린지를 늦게 알고 중간중간 빼먹은 날이 있어 12개를 채우고 종료하였다. 그 과정에서 꾸준히 블로그에 풀이를 적고 깃헙에 커밋할려 했지만 주말이나 그 다음주에 몰아서 정리를 하게되었다. 그..

[구름톤 챌린지 종료] Day 20 - 연결 요소 제거하기(그래프 탐색)

https://level.goorm.io/exam/195702/%EC%97%B0%EA%B2%B0-%EC%9A%94%EC%86%8C-%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B8%B0/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 그래프 탐색과 시뮬레이션을 혼합한 문제입니다. 문제 풀이 from collections import deque n,k,q = map(int,input().split()) arr = [list(input()) for _ in range(n)] visited = [ [0]*(n) for _ in range(n)] dq = deque() dx = [-1,1,0,0] dy = [0,0,-1,1]..

알고리즘 2023.09.12

[구름톤 챌린지] Day 19 - 대체 경로(그래프 최단 경로)

https://level.goorm.io/exam/195701/%EB%8C%80%EC%B2%B4-%EA%B2%BD%EB%A1%9C/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 해당 문제는 변화하는 그래프에서 최단 거리를 찾는 문제입니다. 문제 풀이 from collections import deque n, m, s, e = map(int, input().split()) graph = [[] for _ in range(n + 1)] for _ in range(m): u, v = map(int, input().split()) graph[u].append(v) graph[v].append(u) def bfs(s, e, avoid)..

알고리즘 2023.09.12

[구름톤 챌린지] Day 18 - 중첩 점(동적 프로그래밍)

https://level.goorm.io/exam/195700/%EC%A4%91%EC%B2%A9-%EC%A0%90/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 해당 문제는 동적 프로그래밍과 시뮬레이션 문제를 혼합한 문제입니다. 문제 풀이 # 입력값을 배열로 넣고 가로(h)-위,아래, 세로(v) - 오른쪽,왼쪽으로 넣음 # 그때 겹치는게 있다면 계산? # 예를들어, 가로 2개면 0개, 가로 1개, 세로 1개면 1개 , 가로 2개 새로 1개면 2개, 가로 2개 세로 2개면 24개 곱하기 하면 됨 n,m = map(int,input().split()) arr = [ [ [] for _ in range(n)] for _ in ran..

알고리즘 2023.09.12

[구름톤 챌린지] Day 17 - 통신망 분석(DFS/BFS)

https://level.goorm.io/exam/195699/%EA%B7%B8%EB%9E%98%ED%94%84%EC%9D%98-%EB%B0%80%EC%A7%91%EB%8F%84/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 해당 문제는 그래프의 컴포넌트 개념과 다중 조건 정렬을 활용한 해결이 필요하다 문제 풀이 from collections import deque n,m = map(int,input().split()) graph = [[] for _ in range(n+1)] visited = [0]*(n+1) # 양방향으로 그래프 만들기 for _ in range(m): a,b = map(int,input().split()..

알고리즘 2023.09.12

[구름톤 챌린지] Day 16 - 연합(그래프 탐색)

https://level.goorm.io/exam/195698/%EC%97%B0%ED%95%A9/quiz/1 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 해당 문제는 그래프에서 컴포넌트의 개수를 찾는 문제입니다. 컴포넌트와 그래프 탐색 개념이 필요합니다. 문제 풀이 from collections import deque n,m = map(int,input().split()) graph = [[] for _ in range(n+1)] visited = [0]*(n+1) dq = deque() for _ in range(m): a,b = map(int,input().split()) graph[a].append(b) result = 0 for ..

알고리즘 2023.09.12

[책 후기] - 데이터 분석가의 숫자유감(저자 - 권정민)

데이터분석가와 관련해서 추천 도서를 찾던 도중 블로그 2곳에서 동시에 추천하는 책이라 도서관에서 빌려 읽어보았다. 이 책은 데이터분석가가 실제 현업에서 흔히 발생하는, 데이터를 오해하면서 일어나는 에피소드를 글로 담은 책이다. 만화로 되어 있기에 매우 쉽게 읽혀 2시간만에 빌리자마자 다 읽었다. 인과관계와 상관관계, A/B 테스트, 조건부 확률 등 빅데이터 시대에 데이터를 활용하는데 필요한 상식들이 재밌게 담겨있다. 데이터 분석가를 취업하는 사람에게도 실제 현업에서 어떤 에피소드로 데이터 분석가들이 다른 업무 사람들과 커뮤니케이션에 오해가 생기는지 알 수 있으며, 챕터마다 통계 용어에 대해 알아야 할 내용이 글로 담겨 있고 사전으로도 제공되어 가볍게 읽어보기 좋은 책이다. 가장 의미있던 챕터는 Ch1이었..

후기/도서 2023.09.07
반응형