방법1) 반복문 돌리기방법2) replace() 함수 사용하기😇 지금까지는 입력 배열 자체를 바꾸어서 출력을 했는데, 새로운 문자열에 추가를 해나가는 식으로 푸는 것이 조금 생소하고 신기했다. 별건 아님.g : 해당하는 모든 문자열을 변경i : 영어 대문자/소문자 무
맨 끝의 문자로 나누었을 경우, 그 뒤에 빈 문자열도 붙음을 주목하자!'R이 맨 뒤에 있으면 어쩌지?' 라는 걱정은 안해도 된다.어차피 빈 문자열이 들어가므로 카운팅 된다!
😎 기억해두자!대문자인가? : x === toUpperCase()소문자인가? : x === toLowerCase()새로 알게된 방법!그냥 C++로 문제풀때 char로 비교하던 방식이라 별 새로운 것은 없었음
대문자 찾기 문제에서 배운 내용 고\~~대로 쓰면 됨!
a <= idx < b 의 범위의 문자를 잘라온다!😘 홀수 / 짝수 indexing에 대해서 한 번 정리해 보아도 좋을 것 같다.
찾는 문자열이 없으면 -1을 return처음으로 나오는 문자만 answer에 추가
arr.filter() : true인 경우 리턴 배열에 원소 v를 추가
큰 문제없이 풀었음. 다만\-> 1 2 3 1 1 2 3 4 5 이런 경우 4 부터 다시 카운팅된다는 것을 놓치기 쉬웠다
크게 어려운 내용은 없으나, switch문을 사용해볼 수 있는 문제였다
cnt 변수를 사용하여 훨씬 간단하게 풀었다.i - 1 번째랑 비교를 해야하므로 0번째는 따로 빼야했음
아예 접근조차 못했는데 해설을 그냥 보길 잘한 것 같다완전히 처음 보는 접근 방법이었음...한 원소의 등수를 매기기 위해서 '정렬'을 반드시 할 필요는 없다!\-> 내 위에 몇 명이 있는지만 알면 된다!\-> '내 위에 몇 명이 있는지만 알면 된다' 라는 접근의 생각
최대값을 갱신하는 아이디어!문제가 이해가 잘 안됐는데...각 세로줄 / 가로줄 / 대각선1 / 대각선2 중에서 최대값을 찾는 문제였음
idea1) 상하좌우 이동idea2) 가장자리로 갔을 때
str.toLowerCase() 를 사용하면 str 자체를 바꾸는줄 알았는데,값을 return한다. (여기서 좀 헤맸다)확실히 해설 풀이에 비해 내 코드가 지저분해 보이는 것 같다. 굳이 flag가 필요 없는 경우 그냥 정답 값을 바로 return하는 것도 방법일 것
정규표현식을 한 번에 다 공부할 수는 없으므로, 조금씩 케이스 스터디로 학습해 나가자!
유요한 팰린드롬 문제에서 배운 replace(정규식, 바꿀값) 을 활용해서 풀었다.isNaN() : 숫자가 아니면 true 반환
원소간 거리를 측정하는 idea\-> 오른쪽으로 vs 왼쪽으로🤓 생각도 못했다.....
항상 C++로 문제를 풀면서 i - 1 로 for문을 돌리면 0번째 인덱스가,i + 1로 for문을 돌리면 마지막 인덱스에서 에러가 나서,허접인 주제에 너무 문제를 깔끔하게 싹 풀려고 했던 것 같다.(0번째 인덱스, 혹은 마지막 인덱스 예외를 주더라도 문제를 푸는게 중
(내가 푼 방식이다)전반적으로 해설과 똑같이 풀었으나, toString() 대신 String()을 사용하였다.(toString() 메소드가 있는 줄도 몰랐음)(원래 C++로 할 때 풀던 방식이다)C++로 풀 때와 사뭇 다른 점은 10으로 나누었을 때 실수로 들어가서Ma
자릿수의 합 문제와 동일하게 2가지 방법으로 풀 수 있다.항상 풀던 풀이 방법인데 의외로 다시 풀려니 헷갈렸다.Math.sqrt(num) 까지만 확인해주면 되는 것을 몰랐었음풀이2 에서 언급했듯, i < num이 아니라, i < Math.sqrt(num) 이
숫자 범위를 확인하고 그냥 냅다 돌려보는 연습을 해보자flag 대신 cnt 변수 사용 (flag가 좀 더 직관적인 것 같음)굳이 list를 만들 필요 없이 answer 카운팅만 했으면 됨(나도 answer 카운팅만 했지만 로그를 찍기 위해 list 만들었음)굳이 (1,
전혀 접근을 못하겠었는데,'시간 복잡도 생각 1도 안하고 풀어보자' 하니까 풀렸다.일단 어차피 나는 짬이 안되니 시간복잡도를 고려하지 말고Brute Force로 일단 들이받는 연습을 많이 해야겠다.product 배열을 먼저 sort 했어도 됐을듯 하다.일단 할인쿠폰을
Set() 으로 중복을 제거할 수 있다Set()\* 객체를 선언할 때에는 new 키워드를 써야 한다Set 객체를 배열로 바꾸려면 Array.from()을 사용하면 된다Set 객체 추가는 push 대신 add를 사용하면 된다로직 자체는 맞는 것 같은데 왜 에러가 나는지
while문 사용이 의외로 익숙치 않은 것 같다.항상 while(true) 로 놓고 탈출조건으로 break 하는 방식으로 사용했는데,미천한 내눈에는 해답코드를 보고 정말 깔끔함을 느껴 감탄을 했다....접근 방법 자체를 해설을 보고 풀었기 때문에 내 풀이는 따로 적지
전반적으로 접근법만 듣고도 Solution 과 거의 동일하게 풀었다.하지만 arr1, arr2를 sort할 때 배열을 바꾼다는 것을 몰라서 굳이 다시 초기화를 해 주었다arr.sort()를 하면 arr를 직접 바꾸어 준다!
내 풀이) 그냥 Brute Force... O(N^2) > 사실상 그냥 냅다 돌리는 것과 같음... Solution 풀이) Two Pointers O(N)
이건 뭐... 그냥 아이디어를 외워버려야 겠다.시간투자를 많이 했는데도 풀이를 보고나니 힘이 확 풀렸다 ㅋㅋanswer가 1씩 증가해야 한다는 고정관념(?)을 갖고있었던 것 같다....r - l + 1 이렇게 다 더해준다는 생각은 아예 못했다...
그냥 i - k를 하면 되는 것을....어거지로 변수를 두개 쓰니까 정신이 없다.(근데 막상 쓰고보니 더 직관적으로 괜찮아 보이는 것 같기도 하다... 그냥 answer 선언만 위에 했으면 생각보다 괜찮은데...? 어..?)
map으로 푼 첫 문제라 조금 어색했음굳\~~이 max를 저렇게 배열로 선언할 필요가 없었음for 문의 순환 변수를 저렇게 배열로 두어도 되는지 처음 알았다map.has()를 사용하여 해당 원소가 있는지 확인할 수 있는지 처음 알았다저렇게 최대값 변수 / 최대값 를 갱
for 문 안에서 싹 처리를 못하나 고민하다가 그 위에 첫 번째는 따로 빼줬다.2개만 넣어주고 빼고 -> for문 돌리고 넣어주고 ... 이런 식으로내 방식처럼 for문 위에 첫 번째를 따로 안돌려 주어도 됨굳이 Two Pointers를 해줘야 하는건 아닌 것 같다.S
굳이 다 돌릴필요 없이 중간에 stack이 비었을 때 ')'가 들어오면 바로 false return 해버리면됨
이중 for문으로 O(N^2)의 시간복잡도시간복잡도를 낮춰보고자 pos라는 배열을 따로 만들었다.if (pos\[y] === -1) continue; 부분을 제거하고 그냥 else 부분을 if로 감쌌으면 좀 더 간결했을 것 같다.forEach 함수에 대해서 좀 더 찾아
eval을 사용하여 문자열로 풀어보았다가급적 웹에서 eval을 사용하지 말라고 하길래 switch 문으로 구현하였다.그냥 무난하게 if 문 으로 푼 것 같다숫자인지 판별할 때 2 가지 방법 사용이 가능if(Number.isInteger(Number(x))if(!isNa
옛날에 이 문제를 C++로 풀면서 너무 어려워서 좌절했었는데...별 어려움 없이 쑥 풀려서 울뻔했다 ㅠㅠ중복되는 부분 refactoring을 해 주었다.그냥 prev 변수 대신에 i-1을 해준 것 말고는 동일하다.문제를 잘푼 것 같아서 뿌듯하다 !!!
Array.from 을 한 번 사용해보는 연습이 된 것 같다.Solution 풀이를 힐끗 보고 내 풀이를 수정하였다.1, 2, ... , K-1 까지 빼주고 K번째는 그냥 push를 안해주는 idea를 배웠음while문 조건이 너무 깔끔하게 되어있었다.처음에는 왜 wh
그냥 딱 잘푼 것 같다.. 하지만 solution을 보니 조금 더 효율적인 방법이 있을 것 같다.굳이 while(queue.length)로 길이를 매번 확인하는 것 보다 공주 구하기 문제와는 다르게 plan이 1번만 쫙 돌면 되므로 for문이 훨씬 효율적인 것 같다.p
일단 구현만 해보자 하고 풀었는데Solution 풀이랑 똑같아서 띠용....
sort() 의 사용법과 원리에 대해서 조금 더 알게 되었다!
빨리 끝나야 빨리 회의를 시작할 수 있으므로, 끝나는 시간 기준으로 정렬을 한다.시작시간 순으로 정렬 : 먼저 시작했지만 겁나 긴 경우 때문에 X회의 길이 순으로 정렬: 중간에 애매하게 겹치는 경우 때문에 Xsolution의 접근법을 듣고도 겨우 풀었음 ㅠㅠ훨씬 풀이가
코드는 간결하지만 사실상 Brute Force로 푼 것이나 마찬가지..이렇게 미리 정렬 을 하는 idea 가 참 신기하다.미리 예시로 시뮬레이션을 많이 돌려봐야겠다
Solution 풀이 > 거의 손도 못댔다... 난이도가 갑자기 확 뛴것 같다 배운 점 이분 검색으로 답을 결정 배열의 최대값을 찾을 때에는 전개 연산자 ... 사용 느낀 점 > - Binary Search로 이렇게 문제를 풀 수 있다는 것을 보고 충격을 받았다
뮤직 비디오 문제와 더불어 여러 번 풀면서 내 것으로 만들어야겠다.아직도 이런 문제 만나면 머리가 굳고 발상이 잘 떠오르지 않는 것 같다 ㅠㅠㅠㅠ
뭔가 Solution 풀이가 원래 풀던 재귀함수 방식이랑 좀 더 맞는 것 같다.
크게 어려운 문제는 아니였음.그냥 손으로 10진수 -> 2진수 변환 하는 방법 그대로 코드를 따라갔다.Recursive를 연습할 수 있는 간단한 기본문제였음