프로그래머스 레벨2 폰켓몬 python 풀이입니다.https://programmers.co.kr/learn/courses/30/lessons/1845배열의 길이 최대 N/2만큼을 고를 수 있는데 다 다른 것이여야 합니다.그래서 고를 수 있는 길이를 length
https://programmers.co.kr/learn/courses/30/lessons/129131 2 3 55 6 7 8 4 3 2 1 이 있을 때 자기 자신과 같은 열은 더하지 못하므로자기 자신의 열을 뺀 나머지 중 최대값을 밑으로 계속 더해줬다.마지막
https://programmers.co.kr/learn/courses/30/lessons/42885무게순으로 정렬을 한다.제일 가벼운 사람의 index -> 0제일 무거운 사람의 index -> length - 1두명이서 탄 보트의 개수 -> count총
https://programmers.co.kr/learn/courses/30/lessons/42842가로와 세로를 정해야 하는데 빨간색이 무조건 1개가 있으므로세로의 길이를 3으로 정한다. 그리고 가로는 갈색과 빨간색 격자를 더한 카펫의 양을 // 3 한것으로
https://programmers.co.kr/learn/courses/30/lessons/42626heapq로 안 푸니깐 효율성에서 좋게 뜨지 않았음... heapq를 써서 시간 초과를 면할 수 있었다. 예외처리를 잘해야함!
https://programmers.co.kr/learn/courses/30/lessons/42747논문 n편 중 h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하여야한다.그래서 정렬을 한다음에, h를 1부터 시작해서 계산한다.temp를 len(
https://programmers.co.kr/learn/courses/30/lessons/64065
https://programmers.co.kr/learn/courses/30/lessons/64062
https://programmers.co.kr/learn/courses/30/lessons/64061처음 푼 풀이는 moves만큼 for문을 돌고 board의 배열들을 도는데 그 안의 move-1 값이 0 이 아니면 box에 넣는 것이었다. 그리고 마지막 것과
https://programmers.co.kr/learn/courses/30/lessons/64063시험칠 때 내가 작성한 코드로는 정확석 테스트 밖에 통과하지 못 했다. 효율성 테스트는 통과하지 못 했다. 그냥 하나하나 찾는 for문이였기 때문이다. 그래서
https://programmers.co.kr/learn/courses/30/lessons/60057가운데까지 해서 압축이 되지 않는다면 어차피 그 뒤에는 압축이 안 될거니깐 가운데까지를 기준으로 잡았다.현재 index에서 count늘린 만큼이 문자열을 넘으면
https://programmers.co.kr/learn/courses/30/lessons/60058문제 이해가 어려워서 다른 분이 문제를 설명해놓은 것을 보고 풀었다. 알고나니 나름 간단했다..? 각각 함수로 만들어서 재귀적으로 풀었다. 올바른지 확인하고,
https://programmers.co.kr/learn/courses/30/lessons/62049종이를 한 방향으로 접는다. 아래쪽으로 접히면 0이고 위쪽으로 접히면 1이다.1번 접었을 땐 0 이 되고2번 접었을 땐 0,0,1 이 되고3번 접었을 땐 0,0
https://programmers.co.kr/learn/courses/30/lessons/12936ex) n = 3, k = 5 일 때문제에 예시에 있듯이 1,2,3 이라는 사람들이 있으면 줄 설 수 있는 방법은 3 x 2 x 1로 6개이다. 이는 팩토리얼로
https://programmers.co.kr/learn/courses/30/lessons/49994처음에 U,L,R, D 마다 어떻게 움직일지를 정해주었다.\-5부터 5까지랬는데 그거보단 0부터 10이 쉬울거 같아서 바꾸어서 진행했다. 이 때의 가운데 시작점
https://programmers.co.kr/learn/courses/30/lessons/42578?language=javascript각각의 옷 종류 하나당 안 입었을 때를 1개의 경우로 잡고, 같은 종류가 들어올 때마다 1씩 더해준다. 그러면 이제 종류의
https://programmers.co.kr/learn/courses/30/lessons/42627이분탐색으로 분류되어 있는 문제이다. 입력으로 들어오는 n명을 검사하는데 몇분이 걸리는지를 체크하면 된다.심사관은 한 사람당 times의 배열의 값만큼 검사시간
https://programmers.co.kr/learn/courses/30/lessons/42627해당 문제는 Heap으로 분류되어 있으며 파이썬으로 풀면 heapq나 우선순위 큐를 사용하면 될 것 같은데 javascript로는 찾아봐도 그런 구현 되어 있는
https://leetcode.com/problems/climbing-stairs/ 문제 설명 한번에 1칸 또는 2칸씩 계단을 오를 수 있다. 숫자 n이 주어졌을 때 n까지 가는 다른 방법들의 개수는 몇 개인가? 예를 들어 ex1) n = 2 일 경우 1칸 1칸
함수의 s라는 파라미터에 '(', ')', '{', '}', '', '' 의 괄호들이 string 형태로 들어온다. 이 string이 제대로 닫혀있는지 아닌지를 판단하면 된다.ex) '(]'는 '('로 열렸지만 ']'로 닫혔기 때문에 올바른 괄호가 아니다.ex) '()
https://leetcode.com/problems/contains-duplicate/submissions/숫자의 배열이 주어진다. 그 배열 중에 중복 된게 있으면 true 없으면 false를 출력하라.어려운 문제는 아니지만 최대한 짧은 시간 복잡도로 푸는게
https://leetcode.com/problems/maximum-subarray/배열의 원소를 연속적으로 더했을 때 가장 큰 합이 되는 것의 합을 출력하면 된다.예를 들어 -2, 1, -3, 4, -1, 2, 1, -5, 4 일 때4 -1 2 1 의 합인
https://leetcode.com/problems/longest-substring-without-repeating-characters/string이 주어졌을 때 문자가 안 겹치는 가장 긴 부분 문자열을 찾아내면 된다!저는 일단 temp라는 배열을 만들어서
https://programmers.co.kr/learn/courses/30/lessons/64063python으로 할 때는 그냥 dictionary 자료형을 쓰면 시간초과가 뜨지 않았다. 그래서 js로 풀 때도 그냥 Object를 사용하여서 풀었는데 마지막
https://programmers.co.kr/learn/courses/30/lessons/64062그냥 일반적인 방법으로 2중 for문을 써가며 풀면 시간초과가 뜬다. 그래서 이분탐색으로 풀어야한다.left는 가장 작은 값인 1로 두고 right은 문제에서
https://leetcode.com/problems/merge-intervals/\[1,3,2,6,8,10,15,18] 과 같은 input이 주어지면 \[1,6,8,10,15,18]로 줄이면 된다. 1,3 과 2,6이 구간이 이어지기 때문에 합치면 된다!!
https://leetcode.com/problems/jump-game/nums = 2,3,1,1,4 같이 number의 배열이 주어진다. 각각의 숫자는 현재 index부터 최대 몇칸까지 이동할 수 있는지를 나타낸다. 예를들어 index 0 의 값은 2이기 때
https://leetcode.com/problems/daily-temperatures/T라는 숫자 배열이 주어진다. T = 73, 74, 75, 71, 69, 72, 76, 73그러면 이제 각각 자신 보다 더 큰 온도가 나올 때까지 얼마나 걸렸는지를 반환해주
https://programmers.co.kr/learn/courses/30/lessons/42584prices 가 이런식으로 주어지고 1, 2, 3, 2, 3각각의 index 가격들이 얼마 뒤에 가격이 떨어졌는지를 알아내면 된다. 안 떨어졌다면 끝까지 갔을
https://programmers.co.kr/learn/courses/30/lessons/49995문제를 풀다가 잘 모르겠어서 다른 블로그의 글을 참고하여 문제를 풀어보고 쓰는 글입니다.쿠키의 수가 배열로 주어진다. 1,1,2,3 두 명에게 같은 개수로 나눠
문제 LeetCode - Power Of Two주어지는 숫자 n이 2의 제곱으로 나타낼 수 있는지를 확인하는 것이다. 나타낼 수 있다면 true 없다면 false를 return 해주면 된다.나의 코드는 n이 1일 때는 2의 0승 이므로 그냥 true를 반환하게 했다.그
https://leetcode.com/explore/challenge/card/june-leetcoding-challenge/542/week-4-june-22nd-june-28th/3368/Input: 2,2,3,2Output: 3Input: 0,1,0,1,0
https://leetcode.com/explore/challenge/card/june-leetcoding-challenge/540/week-2-june-8th-june-14th/3356/Input: 1,3,5,6, 5Output: 2Input: 1,3,5,6
https://leetcode.com/explore/featured/card/june-leetcoding-challenge/540/week-2-june-8th-june-14th/3357/0은 red, 1은 white, 2는 blue를 의미한다. nums 주어지
https://leetcode.com/explore/featured/card/june-leetcoding-challenge/542/week-4-june-22nd-june-28th/3371/중복된 숫자를 return 하면 되는 간단한 문제다.대신 array를 수
문제 문제 LeetCode - Coin Change 2 amount 와 coins 가 주어진다. 예를 들어 amount = 5, coins = [1,2,5] 일 때 amount를 나타낼 수 있는 양이 몇 개인지를 묻는 문제이다. 동전의 양은 무한이다. 위 문제에서는
https://programmers.co.kr/learn/courses/30/lessons/67256숫자들의 경우의 수들이 많지 않기 때문에 변수로 지정해주고 사용했다. 그리고 적힌 로직대로 했다... 주석 참고
https://programmers.co.kr/learn/courses/30/lessons/67258해당 문제는 인턴 시험 칠 때 못 풀었던 문제다. 투 포인터라는 개념에 대해 몰랐엇다. 시험을 치고 나서 다른 분들과 얘기해보다가 투포인터라는 것에 대해 알게
Trie 자료구조 라는게 있다. 문자열 검색을 빠르게 해주는 자료구조이다. 요즘 문자열에 관한 코딩 문제들이 정말 자주 나오는데, 그 때마다 오픈채팅방 사람들이 Trie로 풀었다, KMP로 풀었다. 말이 많길래 이번 기회에 알아보았다.Trie에 대한 내용은 검색을 하면
time 배열이 주어지고 2개를 더 했을 때 60으로 나눠지는 값이 몇개인지 구하는 문제.i < j 이다.ExampleInput: time = 30,20,150,100,40Output: 3Explanation: Three pairs have a total dura
https://programmers.co.kr/learn/courses/30/lessons/68644문제는 간단하다. numbers 배열이 주어지고 같은 index가 아닌 수를 더한 값들의 오름차 순을 반환하면 된다.기본적으로 제공하는 자료구조인 Set을 사용
https://programmers.co.kr/learn/courses/30/lessons/70128간단한 문제이다. a와 b의 숫자 배열이 주어졌을 때 같은 index의 값끼리 곱한 것을 다 더해주면 되는 문제이다.간단하게 Array.prototype.red
https://programmers.co.kr/learn/courses/30/lessons/689353진법으로 변환하기 위해서 n % 3 을 한 값을 넣어준다. 그리고 n 을 n /3 한 값으로 바꿔주면서 반복을 해주면 3진법으로 변환 된다. 이 때 unshi
https://programmers.co.kr/learn/courses/30/lessons/70129이진 수를 받아서 모든 0을 제거하고, 남은 길이를 다시 2진법으로 변환한 후, 1이 될때까지 계속 반복하면 되는 문제다.reduce를 사용해서 0일 경우 ze
https://programmers.co.kr/learn/courses/30/lessons/68936분할 정복 기법을 사용해서 재귀적으로 풀면 된다. 정사각형이기 때문에 반으로 딱 나눠지고 그것을 조건에 따라 4등분 하여 다시 똑같이 진행해주면 된다.
https://www.acmicpc.net/problem/9470잘 이해가 안 됐었던 문제이다.위상정렬을 응용하면 된다.Strahler 순서를 구하는 문제인데, 처음 시작하는 곳은 순서가 1이다. 그리고 이에 연결된 노드들은 그 노드로 들어오는 순서 중 가장
https://www.acmicpc.net/problem/14676골드 4 문제이다.위상정렬을 활용하면 된다.건물들을 순서가 있고, 건물을 하나씩만 지을 수 있는것이 아니기에 그것까지 체크해주면 된다.그리고 건물을 정상적으로 건설하거나, 건설한 만큼의 건물만
https://www.acmicpc.net/problem/2623전체 가수의 순서를 정하는 것이다.위상정렬을 통해서 해결할 수 있다.가장 기본적인 위상정렬을 하고,마지막에 모든 가수가 정상적으로 result에 들어갔는지를 확인 해주면 된다.
https://www.acmicpc.net/problem/2252가장 기본적인 위상정렬을 통해 해결 할 수 있다.어떤 사람 뒤에 어떤 사람이 와야하는지를 정렬하는 것이기 때문이다.