string인데 길이가 4 혹은 6, 숫자로만 구성 되어있는지 필터해서 true, false를 return하면 된다. fliter로 해보자filter는 요소를 검사해서 배열 길이를 기준으로 fitler 못 하는 거 같다. 그래서 for문에서 if로 검사했다.isNaN(
typeOf로 검사할 수도 있다. for문으로 빈 배열에 추가 생각했는데 첫 번째만 바꾸고 뒤에는 slice로 붙이면 된다. includes 쓸 때마다 헷갈렸는데 str를 통으로 넣어도 된다. includes는 boolean 반환한다.이런 걸 보면 항상 if를 떠올리고
str이 짝수라면 가운데 두 글자, 홀수라면 가운데 글자를 반환. splice 혹 slice로 푸는 문제인 거 같다.return에 메소드 안에 삼항을 쓸 생각은 못 했다. start index는 같고 짝홀에 따라 달라지는 것이니까 충분히 삼항으로도 쓸 수 있다!
for문해서 i만큼 str에 더하면 될 거 같다. if가 들어가면 삼항으로 처리할 수 있는데 아직 생각이 잘 나지 않는다. 가장 깔끔한 것 같다. 빌런
일단 sort가 있다. 조건 중 대문자는 소문자보다 작은 것으로 간주가 있는데 어떻게 접근해야할지 아직 모르겠다.sort해도 안 먹어서 찾아보니까 sort()는 대문자가 소문자보다 앞에 오도록한다. 이렇게 하면 안 먹고 저렇게 풀어서 써야지 먹는다. 이유는 모르겠다.
filtered 함수는 1이상 4이하인 요소를 찾아 반환한다. sort를 써서 푸는 문제인 줄 알았는데 filter로도 if처럼 조건에 맞게 정리할 수 있다. 범위에 속하지 않는 요소를 삭제하는 것이다. filter에서 헤어나오지 못해 filter로 !==을 써서 삭제
if로 검사하면 쉽게 풀릴 것이라고 생각했는데 빈 배열일 때 -1을 어떤 식으로 줄까 헷갈렸다. if if로 한 것으로 보아 아직 if에 대한 완벽한 이해가 없다고 생각했다. 이렇게 했더니 30점 맞았다. 첫 번째 if를 다 돌고 두 번째 if를 돌면서 result.l
for 시작 끝을 a, b로 정해서 사이 수를 가져오면 되는데 a,b의 대수를 정해주는 것이 헷갈렸다. 설핏 기억으로 삼항으로 할 수 있었던 거 같은데 도저히 안되서 원시적인 방법으로 해결. 나의 코딩 풀이는 아직 구석기 시대에 머무르고 있지만 언젠가 신석기 혁명 간다
두 인자가 지워지면 최대공약수, 최대공배수를 포함한 배열을 리턴한다. 약수란 어떤 수를 나누었을 때 떨어지는 수다. 1과 자기 자신 밖에 존재하지 않으면 소수최대 공약수 구하기두 수의 max,min을 정하고 나머지를 구한다. 이제 다음 턴에 min값이 max가 되고 나
약간 정렬 문제의 기초 단계인듯. sort하고 제일 작은 수 고르는 게 제일 빠를 거 같지만 제일 작은 것만 제거하면 되니까! \--> 대실패. sort는 아닌 거 같다. 나란 멍청한 녀석. sort로 배열 순서를 바꾸면 안되고 그냥 가장 작은 값만 제거 해야한다.
달력 만들면서 new Date를 엄청 많이 해봐서 금방 생각났다. 뭔가 멋지다. getDay를 안 썼는데 getDay를 안 쓰고 푸는 방법은 몰랐다!뜨끔..그래서 매서드를 안 쓰고 다시 풀기로 했다! 내일 풀어보장!
단순히 이중for로 풀려고 했는데 테이스 케이스가 계속 실패했다. 정확한 이유는 모르겠는데 공백 기준으로 짝홀의 reset되서 그런 것 같다. 질문하기를 참고하니 인덱스 리셋하는 것으로 하라고 해서 예전에 했던 type writing이 생각나 그렇게 접근하기로!계속 여
진짜 직관적으로 생각나는대로 풀었다. 일단 string 다루는 게 익숙하지 않아 안전하게 배열에 넣고 빼느라 코드가 지저분해졌고 있는 메서드 다 쓰느라 가독성이 많이 떨어진다! 2회차 때는 조금 성숙한 방법으로 풀었다!!!
정렬된 배열에서 특정 값을 찾는다. 배열의 중간값과 비교해서 없다며 값이 존재할 수 없는(크거나 작은)배열을 삭제하고 나머지 배열의 반을 가른다. low, high를 배열의 처음과 시작으로 정하고 while을 돌리는데 low가 hight보다 크면 중단한다. mid는 배
탐욕 탐색법이라 불리는 이 친구는 매 순간 최선의 선택을 한다! 가장 인간과 비슷해서 그런지 그리디 친구한테 정이 많이 갔지만 한 번도 써 본적이 없기에 공부를 해보려고 한다. 그리디는 보통 잔돈 문제나 거스름돈 문제에서 많이 나온다.예시는 블로그에서 따왔다. 먼저 w
문제 풀이  이렇게 일 때, 투 포인터로 정수 요소 3...
동적계획법이란? 큰 문제를 작은 단위로 쪼개서 푸는 법 점화식을 사용한다. 이런 식으로 재귀적으로 전체 문제를 푼다 대표적인 문제로 피보나치 수열, 배낭 문제 등이 있음 예시 문제 도착점을 가장 적은 수부터 정하고 풀어본다. 도착점이 1일 경우, 1가지
삽입 정렬 왼쪽에서 오른쪽으로 가면서 각 요소들을 왼쪽 요소와 비교하여 알맞은 자리에 삽입하는 형식의 정렬 방법. 왼쪽 비교 대상 데이터들이 정렬 되어 있다는 가정 하에 진행 메모리가 절약되지만 자료 개수가 많아지면 성능이 매우 떨어짐 arr[i]를 tmp에 할당 그리고 j는 i기준으로 왼쪽으로 돌면서 tmp과 비교한다. arr[j]가 tmp보다 ...
투 포인터란 리스트에 순차적으로 접근해야할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘 정렬되어 있는 두 리스트의 합집합에도 사용됨 예제 : 어떤 숫자들의 리스트가 주어질 때, 해당 리스트의 연속 수열의 합이 특정 값을 가지는 것을 확인하는 문제
이차원 배열에서 영역 지정 문제
신춘 시즌이 끝나 다시 개발로 돌아왔다...! Heap 힙은 트리 기반 자료구조다. 힙은 크게 두 가지로 나뉘는데 Max heap과 Min heap이 있다. Max heap : 부모 노드가 항상 자식 노드보다 크거나 같음 Min heap : 부모 노드가 항상 자식
문제 합승 택시 요금 > 4→1→5 : A, B가 합승하여 택시를 이용합니다. 예상 택시요금은 10 + 24 = 34원 입니다. 5→6 : A가 혼자 택시를 이용합니다. 예상 택시요금은 2원 입니다. 5→3→2 : B가 혼자 택시를 이용합니다. 예상 택시요금은 24 + 22 = 46원 입니다. A, B 모두 귀가 완료까지 예상되는 최저 택시요금은 34 +...
문제 다단계 칫솔 판매 > 판매원 young 에 의하여 1,200 원의 이익이 발생했습니다. young 은 이 중 10% 에 해당하는 120 원을, 자신을 조직에 참여시킨 추천인인 edward 에게 배분하고 자신은 나머지인 1,080 원을 가집니다. edward 는 young 에게서 받은 120 원 중 10% 인 12 원을 mary 에게 배분하고 자신은 ...
문제 [PCCP 기출문제] 2번 / 석유 시추 풀이 가장 많은 석유를 지나치는 컬럼을 찾고 그 석유 수를 반환하며 된다 섬 개수 세기의 변형 문제. 최대 개수를 세는 문제이므로 dfs 컬럼을 기준으로 석유를 세면 중복이 발생한다. 1번, 2번, 3번 컬럼은 동일하게 9개임 중복으로 dfs 하게 되면 시간초과남 visited 배열을 만들어서 df...
문제 프로그래머스 단어 변환 풀이 변화에 대한 최소 과정이므로 BFS queue에서 꺼낸 단어 중 차이가 1인 단어로 변환하면서 중복 방문을 막기 위해 visited 필요 코드 정리 1년 전인가에 풀 때 못 풀었던 문제인데, 생각보다 쉽게 풀려서 뿌듯했음
Relative Ranks
Kth Largest Element in a Stream
Search in a Binary Search Tree
문제 [입국심사] 풀이 입국 심사를 기다리는 사람 수(n)와 심사관이 한 명 심사를 하는데 걸리는 시간(times[i])가 1,000,000,000이므로 O(n)을 넘으면 안됨. 엄청나게 큰 n과 특정값 구하기므로 일단 이진탐색을 생각할 수 있음 결국, 심사관의 배열 times를 순회하면서 풀어햐 한다. 최대 100,000이니까 모든 승객을 심사하는...
Symmetric Tree
과일장수
체육복
파스칼 삼각형
파스칼 삼각형2
Find Center of Star Graph
문제 [가장 먼 노드] 풀이 주어진 배열을 인접리스트로 구성한다 queue에서 노드를 꺼내고 w와 max값을 비교해서 업데이트 bfs로 노드를 순회하면서 w를 증가시킴 중복 방문을 피하기 위해 visited로 검사 각 노드마다 1에서부터 떨어진 거리를 저장한 weightArr를 순회하면서 max값이 몇 개인지 센다 코드 정리 인접 리스트를 구성할 때...
그래프
문제 [바탕화면 정리 ](https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=java) 풀이 중첩 순회를 하면서 "#"를 찾으면 시작점과 끝점을 업데이트한다. 코드 정리
문제 공원 산책 풀이 주어진 배열에 따라 좌표를 이동시키는 것. 제한 조건으로는 'X'를 만나면 해당 move는 상쇄된다. 동서남북에 따라 x, y의 움직임을 지정한다 시작점이 항상 [0,0]이 아니므로 시작점을 먼저 구한다 routes를 순회하면서 현재 좌표를 업
프로그래머스 - 프로세스
leetcode - Missing Number
Arranging Coins
풀이 백준 뭐지.. 백준 처음 해보는데 플랫폼 자체가 너무 어렵다.. 문제 이해하는 것도 오래 걸림.. input을 어떻게 넣어야 하는지 몰라서 지피티 참고함 코드 정리
풀이 이차원 배열 순회하면서 > 0 인 x, y를 기점으로 8면을 dfs로 탐색함 visited로 방문하지 않은 곳만 탐색 코드 정리 백준에서 메모리 초과 나오는데 왜 그러지는 모르겠다 백준이랑은 안 맞는 듯
풀이 말단 노드 간 거리가 distance보다 짧은 말단 노드 개수를 구해야 한다 일단 말단 노드를 모두 찾아 리스트에 저장 그래프를 구축한다 말단 노드를 순회하면서 모든 그래프의 노드들과 거리를 계산하다 코드 회고 bfs 순회 시 level를 부여해서 level이 가장 큰 (마지막 level은 말단 노드) 노드를 찾아서 각 말단 노드의 거리를 구하는...
문제 양 한마리... 양 두마리... 풀이 dfs 순회하며 '#'을 카운팅 코드 정리
문제 영역 구하기 풀이 영역 개수 만큼 순회하며 주어진 좌표들을 기준으로 board에 1을 채움 board를 순회하면서 dfs로 영역의 개수를 카운팅 코드 정리 왜 모눈종이를 뒤집었지..? 찾느라 한참 걸림.. 뭔가 문제 해석이 더 어려움.. 수능 문제 같음
문제 적어도 대부분의 배수 풀이 주어진 5개의 자연수 중 적어도 3개로 나누어 떨어지는 가장 작은 수를 구해야함 즉, 3개 조합의 최소공배수의 최소값 for문 3번 중첩해서 순회하면서 모든 경우 구하고 각각 최소공배수도 구해줌 코드 정리 최소공배수, 최대공약수
문제 적어도 대부분의 배수 풀이 하라는대로 하면 된다! 코드 정리 이런 문제는 처음..
문제 Longest Palindrome 풀이 가장 긴 회문을 찾으면 된다 문자열을 정렬하고 hashSet으로 같은 짝을 찾음. 홀수의 경우 +1 코드 정리 순회하면서 회문이 가능한 문자열 중 가장 긴 문자열인 줄 알고 투포인터로 했다가 문제 다시 읽고 정렬 가능
문제 Min Cost Climbing Stairs 풀이 시작점을 0 또는 1에서 고를 수 있다 step은 한 번 또는 두 번 갈 수 있다. 이 중 최소 비용으로 배열에 끝에 도달해야 한다. 배열을 순회할 때마다 최소 비용을 골라서 dp 배열에 저장한다. 인덱스 0
문제 N-th Tribonacci Number 업로드중.. 풀이 피보나치인데 3개의 수에 대한 피보나치 재귀 과정에서 중복이 발생하므로 memo를 해줘야 한다 코드 정리 피보나치는 괜춘괜춘
문제 Best Time to Buy and Sell Stock 풀이 최소값과 최대값 차이가 가장 컸을 때를 구하면 된다 최대 10의 5승까지라서 O(n)으로 풀어야 한다 순회를 하면서 min과 max를 동시에 구하기 코드 정리