
파일명은 우선 HEAD 부분을 기준으로 사전 순으로 정렬한다. 이때, 문자열 비교 시 대소문자 구분을 하지 않는다. MUZI와 muzi, MuZi는 정렬 시에 같은 순서로 취급된다.파일명의 HEAD 부분이 대소문자 차이 외에는 같을 경우, NUMBER의 숫자 순으로 정

늘 박살나는건 나였음에... leetcode 80문제를 풀고 프로그래머스를 도전하였다.. 근데 생각보다 ..쉽지 않아서 눈물이 났다.. 프로그래머스도 뿌셔보기로 하겠다. index 을 배출해내는것으로 location 2 에 있는 3 이 언제 나오게 될까를 구하는 식이다

앞에서 이미 +1 해서 찾는 법을 알려줬기 때문에 이렇게 쉽게 ..문제를 알려주는건가.. 싶어서 나혼자 풀이법 찾을려고 노오력을 했는데 .. 결국은 안되게 되었다. 78을 이진법으로 바꾸면1001110이다. 우리는 0 1 이렇게 반복해서 나온것을 토대로 1 0 으로 바

연속된 배열에서 1, 2, 3 ,4 5, 개 씩 잡아서 더한것이 중복되지 않고 count 될수 있는가 하는 문제이다. 쉽게 하는 방법으로는 시작하는 point 를 잡고 거기서 부터 배열의 갯수 만큼 하나씩 더하면서 sum 을 하면된다. 말그대로 완전 탐색이다. 이런경우

100% 를 기준으로 생각햇을때 93 퍼센트가 100 퍼센트가 되는 시간을 speed 으로 추론하는 문제이다. 그뒤 한 날짜를 토대로 for 문을 돌리면서 몇개씩보낼수 있을까 에 대한 문제이다. 처음에는 어쩌피 작은 수여야되니까..i+1 이 i 보다 작으면 되는거 아닌

유투브 에서 본 어려운방식. 완전 탐색이다. ( 별로 안좋다)참조해서 다시 짠 코드 (훨씬 간결하다.)같은 로직을 써서 함수로 빼버렸다.

1) object 도 array 와 같이 복사하면 된다고 생각했는데 복사하면 안됬다. 결국은 var count_copy= {...oj};objcet.assign 함수를 사용해야지 얕은 복사가 가능하였다. 근데 object.assign 함수는 뭔지 모르게 에러가

많이 해본... 완전 탐색이여서dfs 의 이론을 넣었다.

교집합과 합집합을 구하는 공식교집합 + A (나머지) =A라고 생각하면 빠르게 구할수 있다. 아스키 코드 변환str1.charCodeAt(i) == 문자열 . chatCodeAt( 문자열 번호 )아스키 코드 대문자 65 ~90 || 소문자 97 ~ 122\-in

설명 하나씩 단어를 추가하면서 사전에 있는 단어일시 , 더하기전 단어의 사전 번호를 출력하는 것 ! 내풀이 alpha을 object 형식으로 a:1 , 이런식으로 만들어줌 이때 String.fromCharCode(i) 사용 하나씩 더해주기 위해서 포인터 방식을 사

한 수를 두고 > 진법 변화 > 배열에다가 넣은후 > 하나씩 뽑으면서 >빈 배열일때 수 증가 > 진법 변화

10초라고 했으니 for문을 한번써야되겠다. (이중 포문 xxxx)In 과 Out 을 구분하여 객체 이름 : 들어온 시간 , 누적시간 식으로 구분out 인경우에는 들어온 시간 '\*' 을 표시하여 시간 리셋 , 누적시간 카운트다시 for 문을 돌면서 들어온시간이 '

제한 사항이 10만 이기 때문에 for 문을 한번씩 써야된다는 것을 알수 있다. 행 / 열의 개념을 잘 생각해야되는 dp 문제이다. 1행 1 열 2 열 3 열 4 열2행 3행 4행 .... 이런식으로 밑으로 갈경우 1열 ~ 4열 사이에 가장 큰 수를 구하면 된다.

이런식으로 왔던 길은 count 해주지않으면 되는 그냥 구현 문제이다. 경로를 찾기 위해서 시작하는곳 , 도착하는 곳 + 도착하는곳 , 시작하는곳 을 0001 0100 이렇게 string 으로 바꿔서 하나씩 체크해주면 된다. 이미 왔던 곳을 if 문으로 찾아주기만

맞긴 맞는데 시간 복잡도가 너무 커서 다른 사람 코드를 참조 하였다. 처음에는 다 object 형식으로 만들어야된다고생각을 했었다 아이디를 기준으로 log 기록을 만들고 마지막에 아이디를 닉네임이름으로 변경시키고 sort 를 통해 순서를 바꾸면 된다고 생각을 했었다.

C -> B -> D 이런식으로 진행해야된다. 다른 노드는 신경쓰지 않는다.. C:1 B:2 D:3 으로 지정한다음C B A D F 1 2 2 3앞에있는 노드가 자신보다 큰 경우에는 break 문으로 빠져나온다. 내 코드는 너무 길고 별로다 정규식 new RegExp

제한사항이 백만이기 때문에 for문을 한번만 쓰는 방법으로 사용해야된다. 들어오는 수가 더이상 없는 경우 , 배열에 남아있는것들은 더큰수가 없다는 의미 이기 때문에 그수에 해당하는 인덱스에다가 -1 을 하는것이 복잡하다고 생각이 들어 처음부터 배열을 만들때 -1 을

1) \-> 2x2 으로 블록을 잡는다. 이때 겹치는 부분도 있으니 겹치는 부분은 count 해주면 안되다. \-> 밑에서부터 내려와야되기때문에 생각을 좀 많이 했다. 처음에는 시작하는 부분과 끝나는 부분을 구해서 slice 으로 나눈뒤 합칠까 생각을햇다가 어쩌피 구하

경우의 수를 찾는 문제로써 처음에는 dfs으로 풀었더니 시간 오류가 나게 되었다.그래서 dp 문제로 변경하였다. 새로운 함수를 만들고 infinity 로 채워놓는다. x부터 시작해서 y 까지 될수 있는 경로중 작은 경우로 바꿔서 다시 돈다.

여기서 중요한점은 갯수가 아니라 가지고 있는것들중 키 값을 카운트해서 공평하게 나눌수 있는가 아닌가 이다. 처음에는 left right 으로 이동하여 카운트 해볼까 햇으나 아무리해도 아닌거 같아서해시테이블을 사용해서 차근차근 넣어보았다. 이렇게 1,1,1,1,1 인경우

여기서 bridge_length 는 견딜수 있는 트럭의 몸무게가 아니고 다리의 길이이다. 처음에 weight 와 같은것을 주어준건가 싶엇는데 아니였다. ^^;;;처음에 너무 헷갈려서 시뮬레이션을 많이 돌려봤다. 예제에서 보듯이 모든 트럭이 다 지나갈때 의 시간을 구하는

말그대로 원래의 길이 /2 압축하면서 네모 상자에 같은수가 존재하는 경우에는 압축을 한다는 것이다. DFS 로 풀어야되는데 바보같이 BFS 로 풀어서 코드가 많이 지저분하다.. BFS 로 왜 풀었는지 모르겠다. return 으로 이제 신경안쓰는 부분입니다. 이렇게

이것을 보면 딱봐도 슬라이딩 윈도우 문제라는것을 알수 있다. 두큐를 일렬로 세운다음 . > 슬라이딩 윈도우 로 풀어야 시간 오류가 나지않는다. 제한사항이 30만이기 때문에 for 문을 한번 돌려야한다. 시간 오류가 발생하기 때문에 , queue1 를 기준으로 3번 돌린

컨테이너 벨트는 순서대로 온다 . 하지만 택배기사는 순서대로 쌓아야된다. 순서대로 오는것을 잠시 모와놓고 다시 쌓을수 있나 확인하는 문제여기서 쌓는다는 것에 중심으로 생각하면 --> 순서대로 갈때 이전의 가장 큰수보다 더 큰수가 올때 쌓을수 있다는것을 알수 있다. 따

연산자의 우선순위를 정하는 폼이다. 이때 연산자의 수에 따른 우선순위가 달라진다. \-> 그래서 나는 순열을 이용하여 우선순위를 만들려고 했으나.. ( 이 부분에서 시간이 너무 오래 걸리는듯 해서 . 고민이 들었다. 굳이 ? 만들어야되나?)따라서 그냥 내가 만들었다.

곡은 14분 동안 반복된다고 생각한다. 지금 곡은 7분짜리여서 2번더 돌수 있다. 이 2번 돈 곡중에 m 이 포함되어있나 아닌가를 확인하는 문제이다. sp;it' 으로 하나씩 자르고 - 따라서 시간에 맞혀서 만든 곡과 > m 이 같은가? 이때 오류가 발생하였다. 나는

시계 반대 방향으로 돌면서 새롭게 위치를 바꿔준다고 생각하면된다 . 이때 가장 작은수 를 구하는문제이다. 개인적으로 이렇게 도는 문제 정말 헷갈렸다. 사실 while 문을 사용해서 가고 싶은 구역까지 가고 나오세요 <- 를 하고싶었는데 에러가 나서 저번에도 한번



처음에는 dp 문제인가 고민해봤는데 완전 탐색 문제 인거 같아서 완전 탐색으로 풀었다. : 으로 되어있는것을 잘라서 분 형태로 만들어줌sort 해서 적은 수 부터 정렬되게함 시작하는 시간에 이미 방이 잡혀있으면 object에 방하나 추가해줘서 끝나는 시간 넣는다. ob


처음에는 어쩌피 2 3 5 7 (,,,min arr) 으로 나눠지니까 이중의 수로 return 하면 된다고 생각했는데 잘 생각해보니까 max 가 6인경우에는 18 24 30 > 에서는 max 가 3 인 수가 나온다. 따라서 이렇게 푸면 정답에 근접하지도 않는 문제였다.

여기서 return 하는것은 하나의 쌍이다. 처음 풀이 방식배열을 만든후 180번인덱스에 180이 존재합니다라고 알려준다. 180x2180x3 180x4 인덱스에 180번이 존재하고 있어요를 알려준뒤 다음번에 360 이나오면 인덱스가 이미 채워져있으니 쌍이 되는 경우라

단어를 자르고 같은지 안같은지를 푸는 문제이다. 어떻게 자르는가 에 따라 문제가 달라지기 때문에 substr 을 사용해서 잘라도되지만 한번에 자르는것을 보고 싶어서 정규식을 사용하였다. 원하는 길이만큼 strring 이 잘라져서 배열로 나오는것을 볼수 있다. 그다음 같

광물 캘때 피로도가 발생한다, 피로도가 적게 발생하는 경우를 찾는 문제 곡갱이의 수는 한정되어있다. > 다캘수는 없고 캘수있는 광물의 수는 한정되어있다. 곡갱이는 한번쓴경우 -=1 된다. 곡갱이를 어떻게 선택할수있을까? picks.findIndex((el)=>el!=0

보니까 1:8, 2:6, 3:3, 4:7, 5:2, 6:5, 7:1 ,8:4 이기때문에 1에서부터 시작해서 1 ->8 ->4 ->7 ->1 이런식으로 가는것을 볼수있다. 시간 제한이 없길래 그냥 dfs로 풀어버렸다. 코드

한 방향을 정하고 그쪽으로 계속 가야된다. 더이상 갈수 있는 곳이 없을때 그곳에서 다시 출발해야된다.한 시간동안 고민하다가 안되겠다 싶어서 dfs 개념도 다시보고 그랬다.. 방향을 정해서 그쪽으로 갈때 > 가는 곳마다 다 체크를 놔뒀더니 . 결론적으로 체크를 다시 풀어

이전에 쉬운단계로 나왔던 적이 잇는 문제여서 그렇게 하면 되겠구나~ 생각하고 풀었던 문제이다. 이전과 같이 0 1 2 3 으로 갔을때 몇개나 있나? 그것을 카운트 하는 문제이다.이중for 문 쓰면 아마도 .. 시간 복잡도 생길것이다. 따라서 피타고라스 정리로 풀면 안

요즘 코딩 문제 안풀다가 푸니까 감을 잃어버린거 같아서 다시 풀게되었다. 카카오같이 긴 문제들은 어떻게 로직을 짜느나가 가장 중요한데 요즘 사소한 실수가 너무 많아서 다른 사람 코드를 보면서 어떻게 짜는것이 효율적인지 배우면서 나먼저 로직을 종이에 짜고 확인하는 과정을

어쩌피 우리가 가야되는 길은 가장 먼곳이다. ( 먼곳부터 하나씩 없애줘야 그나마 작은 거리가 나온다는 것을 알것이다. 배달하는 곳과 vs 수거하는 곳의 길이를 비교해서 긴 거리부터 간다고 가정한다. 이때 수거책은 limit 가 존재하기 때문에 이것을 맞춰서 조절해서 -

처음 3 단계 여서 그런가? 내가봣을때 2단계로 내려가야될거 같다, 위에 보면 dp 문제라고 써있다. 따라서 dp 문제로 풀었다. 이전 level2 에도 비슷한 문제가 있어서 생각하는데 어렵지 않았다. dp 는 말그대로 . 내가 이자리에 있을때 최대 점수는 무엇인가?

이런식으로 banned_id에 맞는 형식인 아이디 찾아서 조합으로 만든다. 이때 중복된게 있으면 안된다. 여기서 중복된거 거르는데 시간을 많이 써서 찾아보니.. 그냥 set 으로 구분하는거였다... 데이터 양이 별로 없어서 그래도 되는가 싶다. 다른 사람들 코드 보니까

틀린코드가 기억이 안나네..ㅋㅋㅋㅋㅋㅋ인덱스를 이용해서 장난치는 문제. 완전탐색에 가깝게 풀었다.

전형적인 dp 문제 되는길있나 없나 카운트 하는 문제이다. 한방향으로 갈수 있는 길은 1로 세팅안되는 경우는 0 으로 세팅문제에서 갈수 있는 방향이 2 개라고 햇으니 그 방향만 더한채로 이동 하면 답이다.

제한 사항을 보면 거의 1억이 넘는 수가 들어가 있다. 저번에서 봣듯이 1억이 넘으면 무조건 이분탐색이라는것을 캐치해야된다.로직은 똑같았지만 , n 수가 나올때 return 해라 ! 해서 틀렸다. 우리가 구하는건 n 가 맞다. 하지만 n수가 나오는 경우는 여러개 이다

한동안 쉬었던 코딩 테스트 공부를 다시 시작해보려고한다.이런식으로 완전탐색을 하는 bfs 문제이다. 나는 이런 문제를 풀때 obj 형식으로 a: b,c ,d 이런 하나의 수만 들어갈수 있는 배열을 선언했던 적 밖에 없어서 obj.a { b: 1 ] 을 push {

Topological sort=>위상 정렬 을 이용한 문제이다. 개념은 동민 나 씨의 위상정렬 개념으로 한번 이해했다. 위상정렬은 말그대로 5을 수강하기 위해서는 7이라는 것을 꼭 수강해야된다는것!그럼 이 수강 순서를 나타내기 위해서는 꼭 필수 과목을 들어야된다. 필수

시작 -> 도착 "AACCGGTT" --> "AACCGGTA" 이때 하나의 수만 변해야 되고bank = "AACCGGTA","AACCGCTA","AAACGGTA" 에서만 고를수있다. bfs 를 사용해서 하나만 변한애들만 queue 에 넣고 계속 돌리면 된다. b

배열에 같은수가 3 개 나오는데 그중 같은거 아닌 하나의 수를 return 해라 처음에도 그냥 count 할까 싶었는데 다른 경우 찾아봄누가 sort 쓰길래 나도 그렇게 써서 제출함 쉬운 문제여서 .. 딱히 설명 안해도 될듯

bfs 를 while 문으로 푸는데 있어 헷갈리는점이 생겨서 작성한다. bfs 는 dfs 와 다르게 위에서부터 밑으로가는 한길이 아니라 여러 샛길로 빠지는 형태라고 생각하면 편하다. 따라서 queue 에 채워질때 . visted 하는 경우는 > 이길이 그 "노드" 한테

0에서 시작하고 모든 경로를 다 연결했을때, 가장 짧은경우는? 이다.신장 트리 == 크루스칼 알고리즘을 따지는 문제이다. 크루스칼 알고리즘은 작은 길로 sort 한다음 > 이 순서대로 길이 만들어지나 안만들어지나 확인하면서 만든느 그래프이다. 그럼 이 길이 연결되나 안