https://school.programmers.co.kr/learn/courses/30/lessons/60060참고 풀이: https://github.com/ndb796/python-for-coding-test/blob/master/15/4.java
https://school.programmers.co.kr/learn/courses/30/lessons/68645이차원 배열로 생각해보면1 0 0 0 2 9 0 03 10 8 04 5 6 7이렇게 생각할 수 있고순서대로 ↓→↖ 으로 이동한다.goX, goY로
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/60063 2. 풀이 참고 풀이 최단 거리이기때문에 BFS로 푸는 것이 맞다. 2-1. ✨핵심 Point > 1. 범위체크를 하기 귀찮기 때문에 주어
https://school.programmers.co.kr/learn/courses/30/lessons/81302맨해튼 거리: 두 테이블 T1, T2가 행렬 (r1, c1), (r2, c2)에 각각 위치하고 있다면, T1, T2 사이의 맨해튼 거리는 |r1 -
https://school.programmers.co.kr/learn/courses/30/lessons/60058이 문제는 재귀를 잘 알아야 풀 수 있는 문제이다.구현은 문제에서 주어진대로 구현하고구현 시 필요한 재귀를 잘 활용하는 것이 문제의 목적이다.u와
https://school.programmers.co.kr/learn/courses/30/lessons/60057문제에 제시된대로 구현해주면 된다. 1\. s.length() / 2만큼만 나눈다.2\. 문자열 자를 길이 step을 1~s.length() / 2
https://school.programmers.co.kr/learn/courses/30/lessons/60059 참고 풀이 https://mjmjmj98.tistory.com/150https://github.com/ndb796/python-
https://school.programmers.co.kr/learn/courses/30/lessons/60062 참고 풀이 https://dev-note-97.tistory.com/241 순열 코드 작성방법 참고 https://velog.
https://school.programmers.co.kr/learn/courses/30/lessons/42889스테이지별로 인원수를 담는 배열을 설정한다.(stages에 N + 1까지의 숫자가 담겨있기 때문에 N + 2로 선언)list에 해당 stage번호와
https://school.programmers.co.kr/tryouts/71852/challenges이 문제는 어떻게 char를 밀것인지가 관건이다.✨따라서 알파벳의 마지막에 도달하면 다시 처음부터 시작하도록 설정해야한다.offset은 들어온 문자열이 대문자
https://school.programmers.co.kr/learn/courses/30/lessons/81301다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.1478 → "one4seveneight"234567 → "23four5six7"10203
https://school.programmers.co.kr/learn/courses/30/lessons/72410지문을 차례로 따라가면서 푸는 문제이다.java 문자열 정규표현식1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다.2단계 newid에
https://school.programmers.co.kr/learn/courses/30/lessons/68936재귀를 활용하는 것인데 꽤 어려웠다.참고풀이해당 풀이 링크를 통해서 해결하였다.상태종료 조건점화식상태(0, 0)에서 시작하여 가로길이와 세로길이가
https://school.programmers.co.kr/learn/courses/30/lessons/12946재귀는 언제나 3단계. 1\. 상태2\. 종료조건3\. 점화식.1\. 상태(n, from, to)n: 옮기려는 원판 개수from: 원판이 현재 위치
https://school.programmers.co.kr/learn/courses/30/lessons/84512상태모든 단어의 조합을 만들어 보고 해당 단어가 몇 번째에 위치하는지 구하면 된다.시간 초과를 걱정하게 되지만 길이가 5이니 1억 회에 한참 못 미
https://school.programmers.co.kr/learn/courses/30/lessons/42840처음에는 answers의 length만큼 각 수포자의 정답 경우의 수를 구해서 풀려고 했다. 하지만 잘 생각해보니 반복은 %로 풀이 가능하다 라는걸
Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대
https://school.programmers.co.kr/learn/courses/30/lessons/67257제한 사항expression은 길이가 3 이상 100 이하인 문자열입니다.expression은 공백문자, 괄호문자 없이 오로지 숫자와 3가지의 연산
https://school.programmers.co.kr/learn/courses/30/lessons/42839한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가
https://school.programmers.co.kr/learn/courses/30/lessons/640641\. Stream 사용하기.2\. HashSet사용하여 중복 값 제거하여 넣기.2-1. main에서 넣어줄때 new HashSet<>()으로
https://school.programmers.co.kr/learn/courses/30/lessons/42748Arrays.copyOfRangeArrays.copyOfRange(arr, 0, 3);즉 index가 0~2까지 복사하는 것.
https://school.programmers.co.kr/learn/courses/30/lessons/68644배열 요소 한 개씩을 모두 돌면서 Set에 담아주기.
https://school.programmers.co.kr/learn/courses/30/lessons/161988참고 풀이처음에는 DP라는 생각을 하지 못했다. DP는 작은 부분의 합을 이용한다는 점을 항상 염두해주자!
https://school.programmers.co.kr/learn/courses/30/lessons/147354?language=java배열 정렬까지는 잘 했는데 xor 연산자에서 막혔다.. 기초에서 막히다니. 앞으로 기초에서 틀리는 일이 없도록 하자!제한
https://school.programmers.co.kr/learn/courses/30/lessons/42747가장 큰 값부터 h의 조건을 만족하는지 검사해 나가며 가장 먼저 발견하는 값을 반환하면 된다.예시에서 h는 0~5까지가 된다.(h편 이상이여야 하기
https://school.programmers.co.kr/learn/courses/30/lessons/12915문제를 잘 이해해야 하는데 각 단어의 n번째 인덱스의 문자로 정렬 이다. 즉 "u", "e", "a"이렇게 뽑힌다면 뽑힌 문자열을 오름차순 정렬하여
1. 문제 2. 풀이 [참고 풀이] (https://hstory0208.tistory.com/entry/Java%EC%9E%90%EB%B0%94-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-Lv2-%EA%B0%80
해당 문제는 info에서 주어진 문자열들의 모든 조합을 완전탐색으로 구현하여 -> 조합안에 있는 점수들을 이진탐색 하는 것.문제의 가장 핵심 조건즉 X점 이상 이기 때문에 조합 안의 가능한 점수들이 50, 100, 180, 200 이면X = 90일때 90점 이상을 받은
https://school.programmers.co.kr/learn/courses/30/lessons/43238이진탐색의 🚨KeyPoint는어떤 값을 이진탐색 할것인가lowerBound인가, upperBound인가 (즉 범위를 어떻게 세울 것인가)문제를 보
https://school.programmers.co.kr/learn/courses/30/lessons/43236최소값 중에 최대값을 구하는 문제. 즉 UpperBound를 이용해서 문제를 푼다.
기울기 계산 시 (double)로 반드시 형 변환을 해줘야한다.참고 풀이깊게 생각할 필요가 없었기도 했다. 점은 4개이니까 4 점의 기울기를 구현하면 되는 소스이다.점이 4개 주어지고 서로 평행한 선분이 있는지 확인하는 것. 1, 2, 3, 4번의 점이 있다고 치면 1
1. 문제 2. 풀이 참고 풀이 > 1. 배열 정렬. > 2. 핵심 ✨Point : startsWith 앞 문자열이 뒤 문자열의 접두사인지 확인. 3. 전체코드
https://school.programmers.co.kr/learn/courses/30/lessons/72411참고 풀이char\[] -> Stringmap.getOrDefault -> 가능한 개수 넣어주기.ordersi 문자열들 오름차순 정렬course 조
https://school.programmers.co.kr/tryouts/71881/challenges중복된 문자 중 가장 앞에 있는 문자를 남겨야함.list.contains(Character) 를 통해 문자가 중복되었는지 확인한다.
https://school.programmers.co.kr/tryouts/71883/challenges🚨 (오답 풀이) 처음엔 단순히 reverse()해서 같은 문자열로 파악하는 문제인줄 알았다.즉 before를 구성하는 char의 개수 = after를 구성
https://school.programmers.co.kr/tryouts/71884/challenges거창한 풀이를 생각하지 말자. 기초로 돌아가서 가장 간단하고 쉬운 방법으로 풀이!!
동명이인 처리를 해야하기 때문에 HashMap이 적절.getOrDefault()를 통해 이미 나온 선수도 처리.완주하지 못한 선수는 한명이기 때문에 HashMap에서 remove()해 나가고, 정답은 HashMap에서 남은 한명의 선수(Key)이다.iterator()를
https://school.programmers.co.kr/tryouts/71888/challenges참고 풀이DP는 풀어도 풀어도 어렵다 ㅜ
https://school.programmers.co.kr/learn/courses/30/lessons/12909단순한 괄호가 알맞은지 확인 여부는 stack이나 count를 이용하여 풀이한다.
https://school.programmers.co.kr/learn/courses/30/lessons/76502관건은 올바른 문자열을 어떻게 확인할 것인가 였다.Stack을 활용해서 확인하는 방식이였다.회전하는 방식은 나머지를 활용하여 구할 수 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/42584언제나 쉽게 생각하자. 쉽게 생각해서 바로 풀리는 경우도 있다.풀이가 좀 어려운데 참고 풀이(https://velog.io/@imok-\_
https://school.programmers.co.kr/learn/courses/30/lessons/42586문제를 처음에 보면 이해가 잘 안가고, 예시와 풀이를 함께 봐야 이해가 좀 더 잘가는 것 같다. 문제 이해를 정확히 해야 풀이를 잘 할 수 있다는
https://school.programmers.co.kr/learn/courses/30/lessons/42583Queue를 사용해야겠다는 생각은 들었는데 정확히 어떤 부분을 사용해야할지 감이 안왔다. 풀이를 보고 Queue에 0을 삽입하는게 굉장히 독특한 아
https://school.programmers.co.kr/learn/courses/30/lessons/49191"나"를 기준으로 내 앞으로 몇명이 이겼고, 몇명이 졌는지 파악하고이 되는지 확인한다.A가 B를 이겼다는 거니까 방향이 있는 정보이다. 따라서 한쪽
https://school.programmers.co.kr/learn/courses/30/lessons/49190너무나도 까다로웠던 문제...핵심은 다시 원점으로 돌아온다면? -> 방이 1개 생성.하지만 예외가 있다..이미지 참고 링크이러한 경우에는 대각선으로
https://school.programmers.co.kr/learn/courses/30/lessons/250137참고 풀이시간의 흐름을 while로 처리했는데 생각보다 구현이 쉽지 않았다. 따라서 참고 풀이를 통해 시간흐름을 for문으로 하는게 처리가 편하다
https://school.programmers.co.kr/learn/courses/30/lessons/250136BFS로 땅을 count한다.landNum을 통해 BFS로 탐색한 땅들의 번호를 부여한다.HashMap에 landNum의 크기(count)를 넣어
https://school.programmers.co.kr/learn/courses/30/lessons/42892트리를 작성하는 게 쉽지 않네.
https://school.programmers.co.kr/learn/courses/30/lessons/42628PriorityQueue를 min, max값을 담는 걸로 두개 작성해서 최대값 뺄때는 maxQ.poll(), 최솟값을 뺄때는 minQ.poll을 한
먼저 답지를 보지 않고 혼자 생각해서 풀었다.👍앞으로도 이렇게 혼자 잘 헤쳐나가도록 하자.해당 문제의 포인트는 교점 구하기(정수인것만)교점의 최대/최소 값들로 배열 구성하기.범위가 굉장히 크기 때문에 교점의 좌표의 자료형은 Long으로 설정해야한다.구한 교점의 좌표가
https://school.programmers.co.kr/learn/courses/30/lessons/68645은근하게 어려웠다. 방향을 ↓ → ↖이렇게 잡아야 하고d = (d + 1) % 3으로 수정할 수 있는 거 까지는 쉽지만 반복문을 탈출하고 그 조건을
https://school.programmers.co.kr/learn/courses/30/lessons/43165DFS는 재귀로 구현됩니다. 재귀는 콜 스택이 쌓이는 형식이기 때문에 직접 Stack으로도 구현할 수 있습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/43162재귀를 Stack으로 생각하면 생각보다 간단하다. 재귀되는 것을 Stack에 넣는다고 생각하고 접근하면 꽤 쉽다.
https://school.programmers.co.kr/learn/courses/30/lessons/43163최단거리 이므로 BFSwords배열에 target이 없으면 일찍 return 0을 해줘야 한다. 어떻게 해도 안만들어지기 때문.방문 체크.안해줘도
https://school.programmers.co.kr/learn/courses/30/lessons/42861참고 풀이간선의 정보를 ArrayList<>에 저장한다. 이때 양방향이므로 양쪽에 다 저장한다.(문제에서 시작노드가 주어지지 않는다면 임의로
https://school.programmers.co.kr/learn/courses/30/lessons/12978다익스트라로 시작점 ~ 다른 정점까지의 최단경로를 구하고, 그것이 K시간 이하로 배달이 가능한지 보았다.d시작점 = 0으로 시작해야 한다.Prior
https://school.programmers.co.kr/learn/courses/30/lessons/491891번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.위 문제는 BFS로도 풀 수 있지만 최
https://school.programmers.co.kr/learn/courses/30/lessons/12904📌팰린드롬의 길이를 구하는 것이다. 따라서 길이만큼 팰린드롬을 검사하는 것이다. 따라서 while문을 통해 글자 하나하나씩을 비교하여 틀릴경우 f
https://school.programmers.co.kr/learn/courses/30/lessons/42895
https://school.programmers.co.kr/learn/courses/30/lessons/42578참고 풀이조합을 떠올렸는데 전체 조합의 개수를 어떻게 구할까 고민이 많았다. 참고 풀이를 보고 나서 아이디어를 가져올 수 있었다.즉 A / B를 선
전체적으로 풀다가 5~14번 테스트 케이스만 틀리길래 질문하기를 통해서 그 답을 찾았다... 참고 풀이문제를 좀 더 꼼꼼히 읽어야 했다......나의 접근법은 map<String, ArrayList<Play>>라는 코드를 통해 접근하였다.class : (0번
https://school.programmers.co.kr/learn/courses/30/lessons/42587priorities\[] = {1, 1, 9, 1, 1, 1}이라면 이걸 list에 담아서 내림차순 정렬을 진행하였다.(생각해보니 그냥 배열을 내림
<https://school.programmers.co.kr/learn/courses/30/lessons/49993처음에 어떻게든 index를 둬서 풀어볼려고 했다. 하지만 skill의 알파벳 순서대로 나오게 하는 로직이 꽤나 어려웠다. 따라서 풀이를 참
오답 코드