- 내가한거랑 다른사람 차이 -내 코드 -다른 사람 코드 처음부분이 더 간결함 삼항연산자 사용으로 if문이 더 간결해짐 - 제대로 짚고 가야 할 부분 삼항연산자 조건부 삼항 연산자는 JavaScript에서 세 개의 피연산자를 취할 수 있는 유일한 연산자입니다. 맨 앞에 조건문 들어가고. 그 뒤로 물음표(?)와 조건이 참truthy이라면 실행할 식이...
- 내가 쓴 코드 - 느낀 점 문제를 풀어가는 방법?을 먼저 생각하고 그 방법을 순서대로 하니까 더 잘되는 거 같다. 무작정 써내려가는 것보다는 이것처럼 먼저 순서대로 할 일을 생각하고 이런식으로 흘러가야지를 먼저 생각하고 풀자
- 내가 쓴 코드 - 새로 알게된 점 forEach 배열에서만 사용 가능 배열의 요소를 슈루룩훑고 지나갈 수 있고 그 원소들로 주어진 콜백함수를 실행할 수 있다. 배열의 첫번째부터 마지막까지 반복하면서 item을 꺼낼 수 있다. 저렇게 요소요소 적어줄 수 있고, 이렇게 function안적고 할 수도 있다. include 배열에서 포함된 요소를 찾을...
a.charCodeAt(0); -> 문자열의 맨 앞글자를 아스키 코드로 바꾼다라고 보면 된다.
- 내가 짠 코드 첨에 진짜 누가봐도 맞는데(사실 안맞음) 안됐던 이유: let N = Number(arr[0]) 이렇게 지정함 이렇게 했던 이유: 배열의 맨 처음에 갯수를 알려주는 거니 저걸 N값으로 써야지! 라고 생각했는데 예상치 못한 문제는 foreach에서 나
- 내가 첨에 해서 안된 코드 애초에 오류가 많은 처음버전. 문제점: 많은알파벳의 개수가 중복일때 물음표가 여러개뜬다. 최대값이 같으면 ?을 출력하기로 했으니 당연 -> 이걸 break를 넣어 멈추게 했다. - 두번째 버전(안됨) 이부분만 수정했음. 오 또 안돼..~그래서 테스트인풋을 내가 다른거로 넣어보니 new오류가 발견됨 문제점: input을...
map, reduce, 삼항연산자 모두 씀잘나옴
- 내가 처음 짠 코드 vscode에서는 잘 돌아간다. 맨처음에 slice가 아닌 splice로 했을 때 시간초과가 떠서 안됐는데 이건 86퍼까지인가 가다가 갑자기 틀렸다고 뜸. 왜인지 대체 모르겠음 근데 그러다가 내가 뻘짓을 했다는 사실을 발견함 - 두번째(안됨
- 구글링 후 힌트보고 품 내가 계속 틀렸던 이유는 A/(C-B)에서 C-B가 음수가 아닐때 라는 조건을 달아주지 않아서이다. 나눗셈을 하는데 당연히 음수 조건이 있어야된다. - 삼항연산자 이용한 다른사람 코드 깔-끔 - 새롭게 알게된 점 소수점 조정 Math.ceil(x): 주어진 값에 소수점 올림하여 정수를 반환 Math.floor(x): 주어...
- 성공 규칙이 6씩 커지는 것이니 원래수에다가 6씩커지는 것을 sum이라는 변수에 저장하고 그것보다 작으면 그 안에 들어간 범주니까 i+1을 출력하라고 푼 풀이이다.
- 내 코드(첫번째) 숫자n(0~9)의 해당하는 배열을 만들어 그 배열에 집어넣는 방식 와 씨 다시봐도 역대급 비효율적;;일단 처음으로 생각된거 바로 적은거 결과적으로 맞습니다가 뜨긴함 근데 좀 아닌거 같아서 다른사람거들 슬쩍 보고 바아로 개선해야겠다 생각 - 2번째로 개선한 코드 숫자n(0~9)들의 빈도수를 나타낼 배열을 제작. 해당 숫자가 나올때...
- 내가 짠 코드 - 새롭게 알게된 점 Math.abs(숫자) -> 절대값 반환 물론 이게 필요없는 문제였는데 헤매다보니까 이런거 알게됨 - 느낀점 독해력을 기르자.......
- 내가 짠 코드 많은 뻘짓들을 거친 후 탄생..... 알고리즘을 설명하자면 알파벳 배열 생성- 각 다이얼에 맞는 알파벳 배열을 생성하기 위해 배열에 구분 위한 공백 포함 배열을 문자열로 바꿈(띄어쓰기 단위로 찐다이얼해당 알파벳 배열을 만들기 위해) 문자에 대응되는
정말 뻘짓 최강 많이한 문제 - 내가 처음에 뻘짓한 코드 이건 심지어 vscode에서도 이상함ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ - 어째어째 되긴 한 코드(확인용 콘솔 많음) - 위와 동일하나 콘솔없는 경우 저 코드는 앞에 주석을 기초로 한 코드이다. 딕셔너리 형태로 중
- 시간초과 코드 10% 정도까지 올라가다가 시간초과가 뜬다. loop문에서 시간이 많이 걸리는듯 하다. loop를 개선시킬 방법이 뭘까 문제점: 시간초과 해결방안: 루프가 아닌 간단한 계산식으로 바꿔야 한다.(구글링으로힌트봄) - 성공 거의 다른분거 힌트 다 보고푼거. 나는 왜 이렇게 생각을 못했지 총 하루 이동하는 거리 = (올라갈수있는높이A - ...
- 내가 제출한 코드 계속 안됐던 이유가 이렇게 하니까 안됐었다. '0'대신에 String(0)을써도 안됐다. 나는 저거랑 저거 차이를 잘 모르겠다. 왜지? 암튼 다음에도 저런식으로 해서 안되면 위에 성공한 코드처럼 짜자. 기억하자 저거!! 문제풀이 층수가 부터 증가하고 H만큼 차면 호수가 증가하는 식으로 인원을 배정한다. 층수 = N/H의 나머지 근...
- 처음 시도 예외도 없이 아주아주아주 잘 작동했다.(물론 편집기에서만) 왜틀린지 모르겠지만 끊임없는 if문의 향연이여서 이건 아니라고 판단되긴 하다. 문제점: 아 드디어발견. 17같은 경우에서 문제가 발생. 34 + 5인데 내가 짠 코드로 돌려보면 5의 몫이 3보
- 작성한 코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString().trim().split(' '); let A = BigInt(inp...
계속 안되다가 1시간 채우기 5분 남기고 갑자기 깨달음을 얻음소수의 정의를 잘 생각해보면 쉽게 풀 수있다.소수: 1보다 큰 자연수 중 1과 자기자신만을 약수로 가지는 수즉, 1과 나 자신만으로 나누어져야 한다. 그말은 나보다 작은 수로 나누었을 때 나누어 떨어질 수 있
앞에 문제와 이어지는 듯 앞에문제+최소값찾기
- 제출한 코드 뭐시기 체 알고리즘문제와 유사하다. 그 대신 끝숫자를 2N으로 한다. 문제를 풀이하자면 0부터 2N까지의 배열에서 소수를 구한다.(false로 바꾸는 것) 그 배열에서 N까지를 잘라낸다.(그러면 N~2N배열이 됨) 그 배열에서 값이 true인 것의 개수를 출력한다.
- 제출한 코드 장황하고 시간오래걸리고 메모리도 오지게 든다. 리팩토링 필수. 다른사람들 거 많이 보자 일단 과정들을 설명하면 테스트 케이스를 반복하는 for문을 작성 숫자N(input배열의 숫자)의 소수를 구해 result변수에 넣는다.(앞 게시물 참고) 소수 중
은근 많은 뻘짓 후 만들어졌다. x는 x들중 다른 하나의 x값이고, y또한 제공된 y들 중 다른 한가지 값이다.문제를 풀이해보면1\. x만 따로 arr_x배열에 넣는다.2\. y만 따로 arr_y배열에 넣는다.3\. 각 배열에서 고유한 한가지의 값이 x,y값이 된다여기
변수선언이 엄청많네 차라리 배열에 넣어서 변수를 조정하는 것도 나쁘지 않을듯?이 문제의 풀이는1\. 가장 큰수를 찾는다.2\. 가장 큰수(heru)의 제곱값과 나머지 두 수의 제곱값의 합이 동일한지 판별3\. 동일하면 right 아니면 wrong
시발 조건 존나많네 개시발 좆같은 문제수학은 공식 짜낼라지 말고 걍 공식 보고 알고리즘으로 옮기자아니 시발 개짜치네 뭔이런 시발강ㅁ나론가ㅏㅇㅅ.ㅇ휸ㅁㅊㅈ가ㅣㅇㄴㅇ/존나게 안되서 구글링 했는데 규칙 내가 엉성하게 짰음. 당연함. 내가 뭔 고등학생도 아니고 원어쩌구 공식을
재귀는 선언적 프로그래밍이다! 라고 생각하면 이해하기 쉽다.선언적 프로그래밍은 결과를 선언하고 과정은 설명하지 않는 것이다.출발: 부산, 도착: 서울 이렇게 띡 주고 컴퓨터보고 알아서해~ 하는 격일단 하다보면 아리송...알듯...말..듯...... 한 것이 좀 이해될
재귀함수가 너무 아리송해서 더 풀어보려고 일단 제일 쉬워보이는 거로 고른 문제문자열 거꾸로 출력str.split('').reverse().join('')
브루트 포스(완전탐색)은 처음이라 약간 떨렸는데 그래도 처음은 쉬운 문제라 다행이다.이건 진짜 무식하게 다 돌리기로 했다. 시간초과 뜰까 걱정했는데 다행히 잘 작동했다.간단하게 설명하자면1\. 각 배열의 3가지 조합의 합들을 모두 구한다.2\. 그리고 그 중 M을 넘기
역시 테스트가 많아야 돼 맞왜틀 계속하다가 이거랑 비슷했던 셀프넘버에서 다른 테스트를 가져오니가 오류가 발생하여 틀린 부분을 알게됨이코드를 조금조금 수정한 재귀방법은 계속 런타임 에러 (StackSizeExceeded)가 떴다. 재귀함수로 하는 방법 있는지 찾아보기!여
처음에는 뭔 규칙을 찾아서 어쩌구 해야하는 줄 알고 뻘짓을 많이함근데 "666이 포함된"을 곰곰히 생각해보니 바로 inclueds가 떠올랐고, 숫자들을 차례로 증가시키면서 666이 포함된 숫자들만 따로 배열로 만들면 괜찮지 않을까? 라는 생각이 들었다.맞왜틀? 이였는데
귀여운 이름에 그와 안어울리게 머리 아프게 하던 문제. 처음에 규칙은 음ㅇㅋ근데 이걸 어케 구현하지...? 이러면서 와안전 뻘짓 하다가 드디어 규칙을 구현하는 코드가 생각남!아니 앞에거를 어케 해라는 거야잇\~~!!!했는데 규칙이 있는 숫자들을 배열에 넣어서 어랏? 이
와 역대급 짧은 코드이때까지 뭘 한거지...?문자열을 포함한거를 찾아서 어쩌구 할까? 라는 생각때문에 inclues와 indexOf를 사용해서 풀어본 결과 얘가되면 쟤가 안되고 이런 문제가 계속 발생해서 그냥 엎어서 아예 다르게 풀어야 겠다 생각. 그리고 고민 끝에 든
숫자를 오름차순으로 정렬하기 위해 정렬함수인 sort를 사용했다.여기서 그냥 사용하면 유니코드순으로 정렬이된다.그래서 숫자의 크기순으로 정렬하기 위해서는 저렇게 사용해야 한다.sort()기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따른다.MDN오름차순 정렬:내림차
무슨 방법을 써도 메모리 초과남. 백준에서 js로 풀 수 없음.어찌됐든 계수정렬 알고리즘 공부할 수 있어서 좋았음.계수정렬(Counting sort)시간복잡도가 무려 N인 엄청 빠른 알고리즘.하나의 배열을 만들고, 정렬하고 싶은 배열의 숫자에 해당하는 자리에 수를 더해
빈도수 다른분 참고 아 max구하는 법만 알았어도 까비평균: reduce이용해서 더하고 round로 소수점 버리기중앙값: len/2의 소수점을 버린값이 index인 numArr값범위: len-1-0빈도구하는 법1\. 각 숫자를 key값으로, 그 숫자의 빈도수를 valu
내림차순 정렬numArr.sort(function (a,b) {return b - a;});오른차순:numArr.sort(function (a,b) {return a - b;});
버블정렬로 정렬했다. 그러니 시간초과가 뜸 sort로 방법을 바꿔야 겠다고 생각.sort로 하는 법이 몰라 일단 다른사람이 푼거 를 참고했다.이차배열의 sort법참고1
좌표 정렬하기 문제와 매우매우 유사
좌표 정렬하기 문제와 매우매우 유사 - 제출한 코드
sort응용 느낌이차배열 sort를 하고 함
사실 문제 자체를 이해못해서 문제이해를 구글링 많이했다;;문제설명좌표압축: 해당 좌표값보다 작은 좌표값들의 개수로 좌표값을 대체한다는 의미그럴만두....^^왜지? 뭐가 문제지?다른분 코드 좀 참고아 내가 딕셔너리를 미리 짜둔거를 이상하게 했었는데 이건 내가 딕셔너리를
- 내가 푼 풀이(실패) 왜 안되는건지 모르겠다. 다른 영단어로 많이 바꿔도 다 잘나왔는데 왜?
index계산을 이상하게 했다. arr의길이가 K보다 작을 때를 잘못작성.바로 출력이 거지같이 됐기 때문! <1,1,1> 가 아니라 <1,1,1,> 이렇게 출력됨..^^출력만 고치면 되는 것이라 바로 구글링함. join이 은근 헷갈리는데 이참에 정리 타임
내가 푼 코드 1. 한번에 되면 무슨일이 일어나나? 시간초과가 떴는데 맞는 방법인 거 같긴함.
가 아니라 구글링한 것. 다이나믹 프로그래밍은 생전 처음 배워본거라 문제에 적용하려니 아리송했다. 근데 풀어보고 생각해보니 어렴풋이 잡힌다.정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지
규칙찾느라 40분걸림.1: 1개2: 3개3: 5개 = (3+1+1)4: 11개 = (5+3+3)5: 21개 = (11+5+5)6: 43개 = (21+11+11)규칙은 F(n) = F(n-1) + F(n-2) + F(n-2) 이다.피보나치 수열구하듯이 풀면된다.
와 내가 제대로 안구해서 이상하게 규칙이 안찾아졌던 것.1: 12: 23: 44: 75: 136: 247: 44F(n) = F(n-1) + F(n-2) + F(n-3) 이라는 규칙이 찾아진다.
단순하게 생각했으면 됐다. 8X8 정사각형을 돌릴 이중for문, 그것을 감싸는 8X8정사각형을 자를 이중for문을 작성한다. 그리고 정사각형을 비교할 때, B로 시작하는 것과 W로 시작하는 것 두개 모두 확인하기 위해 for문을 또 돌려준다.arr(n+x) % 2의 의
시간초과가 발생해서 Map객체를 활용했다.
풀이 set객체를 이용해서 S집합에 포함된 문자열을 set으로 만들었다. 그리고 검사해야하는 문자열을 돌며 set이 포함하고 있으면 answer++을 해줬다.
완전 틀리게 생각했다.상담 기간이 끝난 후 있는 상담들 중 가장 효율적인 거를 구해야 하는데 그저 상담기간이 끝난 후 바로 오는 상담만 하는 것으로 로직을 짜서 틀렸다.각 날짜에서 최고로 이득이 되게끔 한다. 그 최고의 이득들을 더하면서 날짜를 완성시킨다.=> dpdp
점화식을 만드는 게 힘들어서 결국 구글링을 했다.9095번 문제와 다르게 비슷하지만 연속된 숫자를 사용하면 안된다는 조건이 있다. 그래서 1차원 배열로 했던 9095번 문제와 다르게 dp배열을 2차원으로 만든다.dpn은 마지막에 1을 더하는데, 이전에 1을 사용한 곳에