✏️ 풀이 방법 plans를 시작시간이 빠른 순서대로 정렬 (문자열 그대로 정렬 가능) 정보를 가져오기 편하도록 [과제 이름, (시작시간, 소요시간)] 형태로 map 저장 정렬된 첫 과제를 스택에 저장 정렬 리스트를 돌면서
✏️ 풀이 과정1\. 단순 이중 for문으로 시도했더니 시간초과로 실패 2\. 동일한 몸무게는 nC₂ 공식을 사용하여 처리하면 되므로 제거(👉 이렇게만 해도 시간 초과는 나지 않았다)3\. map에 몸무게, 개수 형태로 저장해서 관리4\. 최대공약수, 최소공배수를 사
✏️ 해결 방법DFS로 풀어보려다 실패하고 BFS로 해결했다.예제 데이터와 같은 크기의 bool 배열을 생성하고 순서대로 큐에 넣어 방문여부를 체크했다.✏️ 다른 방법DFS로도 해결해봐야겠다.
✏️ 해결 방법굉장히 예전부터 다양한 방법으로 해결해보려고 노력했던 문제인데 이왕 BFS 문제를 푼 김에 초기화하고 같은 방식으로 해결해봤다.테스트케이스는 통과하는데 제출하면 계속 틀려서 직접 테스트케이스를 만들어서 넣어보다가이 케이스에서 로직이 틀렸다는 것을 알게 됐
✏️ 풀이 방법bool 형으로 체크하는 방문 배열을 사용해서 방문한 모든 노드를 체크하려고 했는데풀면서 생각해보니 굳이 그럴 필요가 없었다.벽이나 장애물에 부딪히기 전까지는 직진만 하기 때문에해당 좌표에 몇번 방향 전환을 해서 도착했는지만 알고있으면 된다.아래 코드로
✏️ 풀이 방법 정상 플레이 조건은 총 4가지다. O와 X가 동시에 이길 수 없다. X는 O보다 많을 수 없다. O는 X+1보다 많을 수 없다. 4-1. O가 이겼으면 (O의 개수) = (X의 개수) + 1 이다. 4-2. X가 이겼으면 (O의 개수) = (X의 개수)
✏️ 풀이 방법<무게, 개수> 형태로 map에 귤 정보를 저장하고,개수가 많은 순서대로 정렬한다.k개만큼 골라낸 후 가지수만 세어주면 된다.
✏️ 풀이 방법큰 원의 반지름 안에 있는 정점과 원점을 가지고 점과 점사이 거리 공식을 사용했었는데 시간초과가 났다.찾아보니 원의 공식을 사용해 임의의 x 좌표에서의 원 위의 정점을 구하면 편하게 계산할 수 있는 것 같았다.해당 두 좌표를 계산하고 그 사이의 y 값의
✏️ 풀이 과정저번 카카오프렌즈 컬러링북에서 사용했던 방식을 사용해서 풀었다.하지만 효율성에서 시간초과의 늪에 빠졌다..풀이 과정visit을 for문이 돌 때 마다 초기화 하는 과정이 시간초과의 원인인것 같아서해당부분을 지우고 테스트했더니 시간초과가 나지 않았다.그럼
✏️ 풀이 방법DP를 사용하지 않고 이중 for문을 사용하면 시간초과가 난다.\[DP 사용 방법]1\. i번째 원소까지 더했을때의 최대값을 저장2\. dp\[i-1](=이전 인덱스 까지의 최대값) + sequence\[i] 의 값과그냥 sequence\[i] 값을 비교
🖋️ 이분탐색(이진탐색) 개념https://velog.io/@kimdukbae/%EC%9D%B4%EB%B6%84-%ED%83%90%EC%83%89-%EC%9D%B4%EC%A7%84-%ED%83%90%EC%83%89-Binary-Search정렬된 리스트의 탐색
✏️ 풀이 방법.. 인척 하는 이해 방법 풀면서도 풀고 나서도 무슨 말인지 하나도 이해를 못했다. 다른 분들의 코드와 주석을 50번쯤 다시 보고, 직접 그림을 그려 보고서야 왠지 모르게 침착맨의 피스키퍼 부르짖던 목소리로 이해가 됐다.
🖋️ 풀이 방법생각보다는 단순하게 풀었다.입사각과 반사각이 동일하다고 했기 때문에 그냥 공을 대칭시켜서 일직선으로 만들고,두 점 사이의 거리를 구한다.예외사항으로는 칠 공과 대칭축 사이에 맞춰야 할 공이 있는 경우만 조심하면 된다.이 경우에는 원쿠션이 아니다.🤔 아
🖋️ 풀이 방법6일 경우 -6을 하는것 보다 +4를 하고 -10을 하는게 효율적이라는 것 까지는 깨달았다.하지만 그렇게 풀었더니 틀렸다..알고보니 5일 경우를 따로 계산해줘야 했다. 5일 경우에는 현재 자릿수가 아닌 앞자리 수에 따라 달라지게 되는데,45일 때 +5,
👀 풀이 방법알고리즘 문제를 풀때마다 느끼는 건데, 알고 있는 개념을 코드로 옮기는게 더 어려운 것 같다.이번 문제는 이 블로그 글을 참고했다.핵심은 쌓여있는 탑의 마지막 n번째 판을 목적지로 옮기는 것이다.n번째 판을 목적지까지 옮겨야 하므로, n-1개를 목적지가
👀 풀이 방법예전에 풀었던 이 문제에서 힌트를 얻었다.1사분면에 존재하는 점의 개수만 구하면 되므로 훨씬 단순한 문제였다.각 x좌표 값을 기준으로 해당 좌표에 해당하는 원 위의 점을 구하고, 그 점의 y 좌표 값보다 작은 정수들의 개수를 더해주면 된다.처음엔 개수를
✏️ 풀이 방법일단 문제 이해 자체가 힘들었다. 이 글을 보고 겨우 이해했다.일단 모든 그룹의 수를 다 곱하는것이 아니고, 그룹 개수가 높은순으로 딱 두가지만 곱해야 한다. (명확하게 두 그룹만 고려한다는 표기도 없고..)또, 처음엔 나열한 리스트를 주는걸로 이해했는데
✏️ 풀이 방법예전에 백준에서 풀었던 문제다.서로를 공격할수 없게하려면 기본적으로 같은 행, 같은 열에는 배치할 수 없다.따라서 첫번째 행부터 열마다 하나씩 배치해보면 된다.같은 열이 아니고, 대각선으로도 닿지 않는 위치에 배치한다.
🎈 풀이 과정예전에 풀었던 과제 진행하기와 비슷한 문제다.대신 중단되는 경우 없이 방을 늘리면 돼서 비교적 쉽게 풀었다.고려해야하는 조건 역시 비슷하다.가장 빠른 퇴실 시간 == 다음 고객의 입실 시간 👉 그 방 그대로 사용가장 빠른 퇴실 시간 > 다음 고객의 입실
🎈 풀이 방법키를 string으로 하는 딕셔너리를 사용하면 쉽게 해결할 수 있는 문제였다.
🤦♂️ 실패 원인이중포문으로 구조를 잡을 때 부터 불안했는데 역시나 시간초과가 났다.for문 내의 경우의 수 조건들을 계속 줄여봤지만 여전히 마지막 두 케이스에서 시간초과가 발생했다.추가한 제한 조건들은 다음과 같다.1) 근무태도와 동료 평가점수가 모두 임의의 사원
🎈 풀이 방법처음에 대충 훑어봤을 때는 평범한 DFS 문제라고 생각했다.그러나 한번 방문했던 노드를 다시 방문할수 있다는 함정이 숨어있었다..그래서 노드 클래스를 만들고, 트리 구조로 해결하려고 했는데.. 굳이 그럴 필요가 없을 것 같아서 모두 날리고 간선 배열을 재
🎈 삽질 과정삽질도 많이했고, 다른 사람들의 풀이를 보면서도 이해하기까지 한참 걸렸던 문제다.DFS로 풀어보려고 연결된 삼각형 클래스로 만들어서 리스트화 하고.. 재귀 돌리고..하는 뻘짓을 하다 도저히 정답 근처에도 가지 못하는 것 같아서 다른 분들의 풀이를 참고했다