어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.absolut
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 1, 5, 2, 6, 3, 7, 4, i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 5, 2, 6, 3입니
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.1 ≤ numbers의 길이 ≤ 90 ≤ nu
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의
문제 링크테스트케이스를 통과하지 못했다.이렇게 순서를 바꾸어서 if 문 안에 등차수열 조건부터 넣었더니 통과 되었다. 왜 더하기부터 넣어주어야하는건지 이유는 잘모르겠다..
문제 링크
문제 링크 - 내 풀이
문제 링크
문제 풀이
문제 링크
문제 링크
문제 링크
문제링크
문제 링크
문제 링크
문제 링크
문제 링크
문제 링크이 풀이가 가독성이 더 좋아보인다.
문제 링크Math.max는 배열자체가 아니라 값들 사이에서 최댓값을 구해주는건데, array는 배열이어서 구조분해 할당을 통해 값들로 변경을 해주어야한다.
문제 링크
문제 링크
문제 링크
문제 링크
문제 링크
문제 링크
문제 링크 - 내 풀이 - 다른 사람 풀이
문제 링크k을 기준으로 split 해서 여집합 구하는거 알아두기.
문제 링크sides = a,b 중에서 maxNum이 b라고 했을때, 나머지 숫자 c는 maxNum보다 작거나 같아야하고, maxNum - a 보다 커야한다.a, b 가 아니라 나머지 값 c가 maxNum 이라고 했을때, c는 a와 b중 더 큰수보다 커야하고, a+b 를
문제 링크new Set 만 출력하면 객체로 나오고 size 프로퍼티를 가지고 있음. 구조분해 할당을 통하면 배열로 만들어 줄수 있음.
문제 링크
문제 링크for of 문을 이용해서 x축 꼭지점과 y축 꼭지점을 따로따로 모아주어서 저기서 가장 큰값과 작은값의 차로 넓이를 구했다. 훨씬 간단한 방법이다.
문제 링크
문제 링크
문제 링크더 깔끔하게 코드를 작성할 수 있었는데 아쉽다 .
문제 링크new Date 객체를 사용했다.
문제 링크
문제 링크먼저 배열을 돌면서 moves 값에 맞는 인형 숫자들을 cart 배열에 넣어주고 cart 배열에서 나란히 같은 값들이 있다면 그 값들을 answer 배열에 넣어주어서 length 값을 구하려했다. for문을 돌면서 cart배열에 중복된 인형 숫자가 있을때 k를
문제 링크제곱근이 정수라면 약수의 갯수는 홀수라는 점을 이용한 풀이.
문제 링크0 을 논리연산자로 적용하면 false이므로, 이 점을 이용한 풀이, 그리고 아예 rank배열을 만들어줬는데, hash보다 간단했다.
문제 링크정답을 맞추긴 했지만 for문과 if문을 너무 많이 썼다. map 메서드를 쓰면서 한번에 구조분해 할당을 할수 있는건 처음 알았다.
문제 링크 - 내 풀이 - 다른 사람 풀이
문제 풀이
문제 링크
문제 링크제한사항에 callings 갯수를 제대로 못봤었다. Map 을 이용해서 풀이했다.value값을 통해서 key값을 가져올수는 없지만 기존 배열의 인덱스 값을 통해 가져올수 있다.
문제 링크여기서 핵심은 이동을 하다가 공원 범위를 벗어나거나 장애물을 만났을때 다시 그만큼 회귀해야하는점이다. 그렇기 때문에 이동 횟수를 저장할 count 배열을 하나 만들어주어야한다. 만약에 시작점이 0, 1인데 E 2 인 경우, 0, 2까지는 이동이 가능하지만 0,
문제 링크글자의 n번째 단어를 기준으로 정렬을 해주고, 만약에 단어가 같다면 전체 단어를 오름 차순으로 정렬해준다.
문제 링크에라토스테네스의 체 알고리즘을 이용해서 풀이하였다.
문제 링크 - 내 풀이 시간초과를 우려해서 Map 객체를 통해서 풀었는데, 테케 6부터 15까지 실패가 떴다. 질문을 남겼는데, 범위를 벗어나는 숫자가 있어서 아마 오류가 나는 것 같다고 감사하게도 답변을 주셨다. sort 함수 자체에서 각각 문자를 숫자형변환을
문제 링크이렇게 풀이하니 통과 못하는 테스트케이스가 존재했다. 만약에 babbling 이 "yayae" 라고 한다면, 위의 코드에서는 aya가 먼저 사라지고 ye 가 남기때문에 정상적으로 answer++이 되지만, 사실 answer에 ++되면 안된다. 바로 join("
문제 링크단순히 이중반복문을 한다면 시간초과 오류가 난다.약수 갯수는 제곱근까지만 범위를 설정해주면 시간복잡도를 줄일수 있다.예를 들어서 number 가 9라면, 약수는 총 1 3 9인데 3까지만 범위를 설정해주고 만약에 9 / 3 === 3 이라면 제곱근이므로 co
문제 링크첫글자 Map과 다른글자 Map을 만들어줘서 서로 배열화 해서 길이가 똑같을때 Map을 초기화 해주고 count를 더해주었다. 또한 반복문을 다 돈 후에도 firstStrMap.size 를 더해주어서 count에 더해주었다.
문제 링크이런 날짜나 시간 문제에서는 차라리 모든 범위로 값들을 합쳐준 후, 거기서 값 비교를 해주는것이 깔끔하다는 생각이 들었다. 분과 초가 나뉘어질땐 초로 합쳐주기, 달과 일로 나뉘어질때, 일로 합쳐주기 등
문제 링크(https://school.programmers.co.kr/learn/courses/30/lessons/160586targets 의 문자열들을 다 쪼개서 반복문을 돌면서, 인덱스를 비교해주어서 그 최솟값을 합한 값을 answer에 넣어주었는데, 테케
문제 링크문자열로 풀려고 하니, 효율성 테스트에서 실패를 했다. 문자열이 아닌 숫자로 만들어주어서, "(" 일때 1을 더해주고 ")"일때 1을 빼주어서 마지막 stackCount 가 0이라면 true를, 그게 아니라면 false를 리턴해준다.그리고 반복문 내에서 sta
문제 링크여기서 예외는 공백이 연속적으로 나올수 있다는 점인데, split해주었을때 '' 이 있다면 공백이라는 의미이므로 answer에 공백을 넣어준다.
문제 링크3~4개의 테스트케이스에서 틀리다고 나왔다. 탈락하는 사람의 인덱스 계산 부분을 잘못한것이었다.
문제 링크작은 숫자가 홀수이고, 큰 숫자가 짝수이며, 두 수의 차가 1일때 서로 만나게 되는 규칙을 발견했었다.(2 와 3은 대결을 하지 않지만, 1과 2, 3과 4는 서로 대결한다)하지만 3개의 테스트케이스에서 시간초과가 나왔다. 그냥 아예 서로 값이 같아진다면 an
문제 링크이 문제는 범위설정 문제를 처음에 잘못해서 틀렸었다. 일때, arr10 x arr20 + arr10 x arr21 + arr10 x arr22 arr10 x arr21 + arr10 x arr21 + arr10 x arr22 이런식으로 계산이 된다.
문제 링크 - 내 풀이 - 다른 사람 풀이 Map 객체를 통해 직관적으로 풀었는데, 저런식으로 Set 객체를 통해서 푸는 방법도 있었다. 코드가 더 깔끔해 보인다.
문제 링크처음 접해본 BFS 문제였다. BFS는 깊이 우선 탐색으로써, queue 자료구조를 이용하여 푼다. queue에 위치와 움직인 move값을 빼주고 dir 배열에 반복문을 돌았을때 조건에 맞는 경로를 찾았다면 방문처리를 해주고 queue에 그 값을 다시 담아준다
문제 링크3을 나누었을때 나머지 값에 대한 규칙을 찾아서 푸는 문제였는데 n % 3 === 0 일때의 규칙이 어려웠다.n 이 3으로 나누어 떨어질때 몫에서 1을 빼주어야하는게 중요했다.
문제 링크가로나 세로 길이가 1이라면 무조건 정사각형 넓이는 1일테니 1을 리턴해주고,boardi가 0이라면 정사각형 조건이 성립되지 않는다.이러한 예외 처리들을 해주지 않아서 실패로 나왔었다.
문제 링크Map을 활용해서 풀이했다.먼저 알파벳들을 담을 Map 객체를 만들어 준 후, 각 index+1 값을 색인 번호로 넣어준다.해당 문자열의 반복문을 돌면서 만약 해당 문자열 + 다음 문자열이 Map 객체에 존재하지 않는다면, 무조건 단 한개의 문자열은 알파벳이라
문제 링크여러번 시도끝에 풀이에 성공했다.반복문을 2번째 줄부터 돌면서, 그 이전줄에 있던 값들을 누적시켜준다.그렇게 해서 마지막 배열라인에서 최댓값을 구해주면, 같은 인덱스를 제외하면서 누적된 최댓값을 구해줄수 있다.
문제 링크1부터 15정도까지 직접 작성을 하다보면, 어느정도 규칙이 보인다. n을 2로 계속 나누면서 2로 나누어 떨어지지 않을때, 그때는 이동을 해야만 하는 상황이므로 count에 +1을 해주면 됐다.