정답 코드
정답 코드
정답 코드
정답 코드
브루트포스
각각 도형을 회전시키면 이런 모양이 나온다.모든 도형의 범위를 확인해보면 다음과 같다.따라서 해당 범위만큼 dfs를 하면 된다.
브루트포스
백트랙킹 (DFS)
백트랙킹 (DFS)
백트랙킹 (DFS)
백트랙킹 (DFS)
백트랙킹(DFS)
백트랙킹(DFS)
정답코드
백트랙킹(DFS)
다이나믹 프로그래밍(DP)
백트랙킹(DFS)
그래프 탐색 (DFS)
DFS, BFS
BFS
BFS
정답코드 다른 정답코드 def solution(id_list, report, k): answer = [0] * len(id_list) reports = {x : 0 for x in id_list} for r in set(report):
정답코드 1 --------------- 정답코드 2 def solution(lottos, win_nums): rank=[6,6,5,4,3,2,1] cnt_0 = lottos.count(0) ans = 0 for x in win_n
정답코드
정답코드 정답코드2
정답코드
첫 번째 코드에 비해 두 번째 코드의 실행 속도가 많이 빠르다.시간 복잡도 향상을 위한 고민이 부족하다.dun dun dance 들으면서 코딩하면 좋다.
정답 코드 1 정답 코드 2 배운 점 1. 2진수 비트연산자 2. zip 함수
정답 코드 1 정답 코드 2
파이썬다운 1줄 코딩이 무엇인지zip 활용
Python의 itertools를 이용하면 순열과 조합을 for문 없이 구현할 수 있다.순열이란 몇 개를 골라 순서를 고려해 나열한 경우의 수를 말한다. 즉, 서로 다른 n 개 중 r 개를 골라 순서를 정해 나열하는 가짓수이며 순열이라는 의미의 영어 ‘Permutati
간단한 코드인데 예상보다 오래 걸렸다. 처음에 room을 dictionary로 선언해서 그렇다. 원인은 경험의 부족. softeer는 오류가 많이 걸린다. 같은 코드를 입력해도 4번 에러가 뜬 뒤에 5번째가 되어서야 통과가 되었다.
BFSBFS(Breadth-First-Search) 탐색을 통해 시간을 기준으로 상황을 시뮬레이션 하듯 풀이를 합니다 .이 때, 각 교차로마다 입력값이 다르기에 해당 정보를 저장해놓고 현재 시간을 기준으로 내가 이동할 수 있는 방향을 조회합니다. 여기서 4가지 상태를
가라로 만든 다이나믹 프로그래밍처음에 DP의 마지막만 신경 써는데 굳이 마지막까지 갈 필요가 없었다.생각의 부족...
Greedy다 풀고 보니 시간복잡도가 nlogn이 아닌 n만큼 걸리게 풀 수 있었다.
divide and conquer시간 초과 문제 때문에 애를 많이 먹었다. logN으로 만들 수 있는 것을 linear하게 풀다보니 시간이 말도 안 되게 길어졌기 때문이다.알고리즘 문제풀이에서 언제나 가장 중요한 것은 log로 만드는 것. 명심 또 명심.
heap단순 sorting보다는 min heap을 쓰는 것이 더 빠르다
오답 코드 (DP, N^2, 시간 제한 초과) 정답 코드 (binary search, NlogN)
divide and conquer전에 풀었던 슈퍼 바이러스 문제의 쉬운 버전
NlogN이 아니라 log만큼 걸리고 풀 수도 있었지만, 난이도 1인 문제는 빠르게 풀고 넘어가자.
BFS평범한 BFS 문제
실제 난이도는 2정도 될 듯 합니다.
dynamic programming백준에서 비슷한 문제를 여럿 봤어서 빨리 풀었다.
dynamic programming문제 설명이 모호해서 어려웠던 문제.2번째 줄부터 입력 값이 K \* K개인 것을 몰라서 오래 걸렸다.
dynamic programmingO(K^2 \* N)만큼 걸리게 했더니 시간 초과 문제가 생겨 각 row의 dp 중 가장 작은 값을 기록하면서 풀었다.
BFSDFS로 풀면 recursion limit가 있기 때문에 BFS로 풀어야 하는 문제.
기본 구현
왜 난이도 4인 것인지 모르겠습니다. 난이도 1이 잘못 표시된 것 같습니다.
brute forcepermutation
없음
정답 코드 ---------------- 후기 다시 한 번 풀어봐야겠다. assign 구현에서 오래 걸렸다.
정답 코드 후기 없음
A 명령이 로봇을 두 칸씩 앞으로 보내고, 한 번 방문한 칸은 다시 방문하지 않는다는 조건으로 인해, 입력으로 주어지는 사수의 경로는 반드시 아래와 같이 경로 외적인 이유로 붙어 있는 경우가 없다.(불가능한 경우)1-9A-Z 순으로 방문순서 표시(가능한 경우)따라서 입
정답 코드
DFS더 짧게 작성할 수 있을 것 같다. 다시 풀어야겠다.
오답 코드1 (시간 초과, dijkstra) 오답 코드2 (시간 초과, BFS)
다익스트라
정답 코드
구간합임의의 자연수 X(1≤X≤N)에 대하여, arrX를 j 번째보다 오른쪽에 있는 숫자들 중,X 보다 값이 작은 것들의 개수라고 정의할 수 있습니다.각각의 X에 대해, j가 N일 때 N번째 보다 오른쪽에 있는 숫자는 없으므로,arrX = 0이고, j 가 N-1일 때는