바로가기처음에는 dfs 재귀함수 방식으로 풀면 되지 않을까 생각했다. 테스트 케이스는 통과하였지만, 이렇게 풀면 범위가 100,000이기 때문에 시간 초과가 생길 수 밖에 없었다. 그래서 다른 방식으로 풀이를 바꾸었다.두번째 풀이는 누적합 방식으로 풀었다. 땅을 돌면서

바로가기문제를 보고 특정한 알고리즘을 이용해 문제를 풀어야 하겠다기 보다는 단순 구현으로 문제를 풀 수 있을 것이라고 생각하였다. 그 이유는 반복되는 규칙이 많이 보였기 때문이다.먼저 숫자는 왼쪽 / 아래 / 오른쪽 순으로 채워진다.숫자가 채워지는 만큼은 N -> N
바로가기DFS의 기본이 되는 문제이다.재귀 함수를 이용해서 문제를 풀었고, 방문이 되어있지 않을 때 정답을 1씩 더해주었다.파이썬에서는 재귀를 할 때 안정적인 계산을 위해 1000번의 제한을 두고 있다. 처음에는 이러한 환경으로 백준에서 런타임 에러가 발생했는데 sys
바로가기범위가 엄청 크면서 배열 안의 부분을 이동하면서 체크해야할 때는 슬라이딩 윈도우를 사용하는 것이 적합하다.12 31 5 2 3 6 2 3 7 3 5 2 6이렇게 입력을 받았을 때,이런 식으로 범위를 정한 다음에 최솟값을 구해야한다. 다만, 배열의 길이와 슬라이딩

팀원들과 스터디를 진행하면서 어떤 프로젝트를 진행할 지 고민하였고, 구현 보다는 설계 측면에서 어떻게 api를 연동하고 최적화를 진행할 지에 대한 고민을 하였다.그래서 구글링을 하던 중 개발자 한 분이 웹툰 정보를 모아서 뿌려주는 api를 개발하셨고, 포스팅 해둔 글을
바로가기투 포인터 알고리즘을 이용하여 문제를 풀었다.배열을 입력받은 후에 정렬을 한 뒤, 인덱스를 시작 지점과 끝 지점에 두고 해당 인덱스에서의 숫자 합을 비교한다. 하지만 이때 타겟 인덱스가 두 인덱스와 같으면 안되기 때문에 거기에 대한 분기를 타주었다.투포인터 알고

바로가기5 31 2 3 1 2위와 같이 입력을 받는다고 하면 먼저 구간합을 구해보자.1 3 6 7 9이렇게 될 것이다. 이러면 일단 순서대로 더했을 때의 나머지를 구할 수 있다. 나머지를 구해보면1 0 0 1 0 -> arr이렇게 나온다. 그러면 일단 0인 애들은 나누
바로가기Level2의 문제 치고는 쉬운 편이다.시간을 돌면서 플레이어와 수용 가능한 플레이어의 수를 비교한 다음,서버를 추가해야할 경우라면 while 문을 통해 서버를 추가해주고 카운팅을 한다.이후 for문을 돌면서 서버의 시간을 1씩 줄여주고 0이 되면 배열에서 없애
바로가기탐욕법은 너무 어렵다..먼저 탐욕법은 여러 가지 경우의 수를 생각해서 최소의 경우를 구하는 방법이다.탐욕법을 풀면서 팁은 여러 가지 경우의 수를 판단한 다음 최솟값 구하는 메서드를 사용하는 것이다.먼저, 두 개의 과정을 거쳐야한다.첫 번째 과정은 쉽다.문자가 2
바로가기이 문제도 단순 구현 문제인데 마지막에 0을 채우는 방법이 떠오르지 않아 애를 먹은 문제였다. 자바스크립트를 이용해서 먼저 문제를 풀었는데 코드를 조금 더 간결하게 만들 수 있을 것 같았다. 그래서 파이썬으로는 좀 더 코드를 간결화하는데 집중해서 문제를 풀었다.
바로가기단순 구현 문제이다.최대한 반복하는 횟수를 줄여보고 싶었는데 나의 머리로는 잘 생각이 안나서공격이 끝나는 횟수만큼 한 턴씩 움직이게끔 구현하였다..처리만 잘해주면 공격하는 횟수만큼만 돌면 될 것 같은데 잘 모르겠다 ㅠ파이썬에서 앞 원소를 삭제할 때 del 키워드
바로가기DFS의 정석인 문제모든 경우의 수를 탐색해야하고 범위가 크지 않을 때 DFS 고려해봐야한다.재귀함수를 통해 문제를 해결했는데 방문 체크를 하는 것과 동시에 조건에 맞으면 재귀한다.파이썬에서 함수 내부에서 전역 변수를 수정하려고 하면 nonlocal 키워드가 필
바로가기구현 문제였는데 실수한 부분이 나눗셈을 할 때 소수부를 신경쓰지 않았던 점이다.이 부분 때문에 시간이 지체됐다.조금 더 계산할 때 신경써주어야할 것 같다.파이썬에서 나눗셈을 할 때 / 이면 소수부까지 // 이면 정수부에 대한 몫만 구하는 것enumerate를 통
바로가기회사 지원을 하면서 JS를 지원하지 않는 기업이 생각보다 많았다.조금 다양한 풀을 지원하기 위해서 코테용 언어를 하나 배우는게 나을 것 같다고 생각해서 가장 접근이 쉬운 파이썬을 이용해 복습 겸 한번 더 푸는 방식으로 공부하자고 결정하였다.파이썬으로 새롭게 풀면

바로가기레벨 3 문제치고는 쉬웠다.위에서 아래로 내려가면서 더해주는 원리인데, 가장자리(처음, 마지막)에 있는 원소들은 두 가지 숫자를 고를 수 없이 바로 위에 있는 애들을 더해주어야 하고, 중간에 있는 원소들은 위에 두 수 중에 최댓값을 더해주면 된다.가장 위에 있는

바로가기어떻게 접근해야할 지 감이 잡히지 않았다.그나마 다행인 것은 문제를 보고 bfs로 접근해야겠다는 느낌을 받았다.그래프에서 전력망을 끊으면 해당 간선을 기준으로 두 개의 그래프로 쪼개지게된다.그러면 그 두 그래프를 bfs로 탐색하면서 몇 개로 구성되어 있는지 검사
바로가기너무 어려웠던 소수찾기 문제모든 경우의 수를 다 찾아봐야하기 때문에 dfs로 탐색하였다.
너비 우선 탐색의 전형적인 문제인 길찾기를 풀어보았다. JS로 BFS 문제를 푸는게 처음이라 조금 헤맸지만 그래도 길찾기 문제는 정해진 양식이 있는 것 같다.
오랜만에 코딩테스트를 봐야하는 일이 생겨서 다시 DFS/BFS를 공부중이다..핵심은 재귀함수로 할 수 있는 경우의 수를 다 검사하는 법이다.
처음에는 배열을 초기화할 때이런 식으로 작성을 했는데 for문을 한번 돌리는데도 불구하고 모든 배열에 숫자가 다 들어가는 현상이 발생했다.