조금 더 선명한 삶을 살기 위해매일매일 코테를 풀어보기로 했다!굳어있는 뇌를 활성화 시키고, 부족한 점을 채우기 위해여 렛츠고~!처음 풀이: 단순하게 문자열로 변환하고 리버스 코드를 생성해서 charAt를 활용해서 생각했다. 막상 풀고보니 굳이 함수 안에 함수를 쓰는게
처음 풀이: 문제를 보자마자 깊은 생각 없이 풀어버렸던 첫번째 방식이다. 너무나도 단순하게 arr를 for문으로 돌려서 누적합 이후에, length 크기로 나눠버림... 그랬더니 손쉽게 풀렸던 문제...😂원시적인 방법이라 누구보다 빠르게 풀 순 있지만, 가독성이나 에
처음 풀이: 대소문자를 구분하지 않는다는 조건이 있어서 일단 소문자로 통일하고 반복문을 돌리기로 결정. charAt로 하나씩 뽑아 쓰려다가 생각해보니 그냥 어레이로 만들고 돌려버리면 돼서, 역시나 깊은 생각 없이 반환하는 방식을 구현했다. 그리고 약간 고민했던 건 마지
보자마자 너무 쉬워서 당황했던 문제...😂이거 말고 다른 방법은 생각나지 않아서 무지성으로 함수를 사용했다.막상 풀고 점수가 떨어지니 드는 생각... 만일, 함수를 쓰지 말고 직접 부호를 처리했으면 어떻게 했을까? 다른 분의 코드를 참고해보았다.이런식으로, 부호를 따
처음 생각한 방법은 단순히 정렬하고 비교였다.하지만 하다보니 코드 길어지고 너무 구구절절해져서 급하게 HashMap을 공부하고 다시 짰다.생각의 순서1\. 동명이인을 처리할 방법: key 중복이 되지 않는 map을 쓰자!2\. 동명이인 처리 후 완주자 비교: 해당 값을
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은
문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해
스택을 활용하여 푼 문제!문제의 핵심은 ()의 꼴을 어떻게 판단하냐는 것. 스택을 활용해서 (만 저장시키고, 짝인 )만 나왔을 때 해당 스택을 지워주었다. 로직이 어렵다기보단 스택을 어떻게 활용해야하는지 고민했던 문제...스택인지 큐인지 아직 헷갈려서 고민을 해봐야했던
You are given an integer array score of size n, where scorei is the score of the ith athlete in a competition. All the scores are guaranteed to be uni
Design a class to find the kth largest element in a stream. Note that it is the kth largest element in the sorted order, not the kth distinct element.
문자열로 변환 후 풀어본 첫번째 풀이. 내림차순 정렬 말고는 크게 어려운 게 없었다. 다만 문제가 있다면, 굳이 문자열로 바꾸고, 문자열에서 다시 LONG으로 바꾸는 게 너무 비효율적이라 생각이 들었다. 그래서 해당 과정을 바꿔보기로 결정!두번째 풀이는 자리수를 계산하
보자마자 든 생각은, 문자를 어떻게 비교하지? 였다. 처음엔 아스키코드로 풀려다가 생각해보니 정렬 자체가 아스키코드인 걸 깨달았다... 그래서, 문자를 리스트로 만들고 리스트를 내림차순 정렬한 후 다시 문자로 만들어서 반환했다.정렬이 된다는 걸 인지하고 나서는 이제 어
You are given the root of a binary search tree (BST) and an integer val.Find the node in the BST that the node's value equals val and return the subtr
Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).대칭을 찾는 문제라 좌우의 값만 비교하면 돼서 쉽게 풀 수 있었다. 문제의
문제의 포인트는 수포자들의 패턴을 파악하고 해당 패턴으로 문제와 비교하는 것이라 생각했다. 그래서 먼저 각자 패턴과 사이즈를 구하고 해당 사이즈를 기준으로 for문에 적용시켰다. 이후 가장 많은 문제를 맞춘 문제를 찾고 해당 사람을 찾아 ++ 시켰다. 문제는 쉽지만 완
명함의 가로, 세로 배치를 따지고 가로가 max일 땐 세로가 min으로 해서 구했다.2차원 배열이라 for에서 약간 주춤했으나 정처기 기억을 억지로 살려서 완료.처음 봤을 때 문제 자체를 이해 못해서 ^^... 많은 고난이 있었다. 알고리즘이 문제가 아니라 국어 독해능
Given the root of a binary tree, return the inorder traversal of its nodes' values.이진 트리의 중위 순회를 통해 노드 값을 리스트로 반환하는 문제! 개념만 알면 쉽게 풀 수 있다.재귀함수가 너무 불편해서
Given the root of a binary search tree, rearrange the tree in in-order so that the leftmost node in the tree is now the root of the tree, and every no
포인트는 정렬을 어떻게 진행하고, 이후에 최저점수를 최대화 해야한다는 것!사실 정렬할 때 컬렉션으로 리버스 할까 하다가 속도가 너무 저하되어 약간의 꼼수로 와일문을 사용했다. for문을 사용할까 했지만 동적인 상황에선 while이 적당하다고 판단. 푸는데 1시간 정도
문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를
Given an integer numRows, return the first numRows of Pascal's triangle.In Pascal's triangle, each number is the sum of the two numbers directly above
Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal's triangle.In Pascal's triangle, each number is the sum of the two numb
Given an integer array nums of 2n integers, group these integers into n pairs (a1, b1), (a2, b2), ..., (an, bn) such that the sum of min(ai, bi) for a
There is an undirected star graph consisting of n nodes labeled from 1 to n. A star graph is a graph where there is one center node and exactly n - 1
There is a bi-directional graph with n vertices, where each vertex is labeled from 0 to n - 1 (inclusive). The edges in the graph are represented as a
코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작
지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다."방향 거리", "방향 거리" … 예를 들어 "E 5"는
운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다.실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다.큐에
🖥️ 문제 Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. Ex
🖥️ 문제 You have n coins and you want to build a staircase with these coins. The staircase consists of k rows where the ith row has exactly i coins. The last row of the staircase may be incomplete. G...
The steamy, sweltering summers of Wisconsin's dairy district stimulate the cows to slake their thirst. Farmer John pipes clear cold water into a set o
Bessie was munching on tender shoots of grass and, as cows do, contemplating the state of the universe. She noticed that she only enjoys the grass on
You are given the root of a binary tree and an integer distance. A pair of two different leaf nodes of a binary tree is said to be good if the length
🖥️ 문제 얼마전에 나는 불면증에 시달렸지... 천장이 뚫어져라 뜬 눈으로 밤을 지새우곤 했었지. 그러던 어느 날 내 친구 광민이에게 나의 불면증에 대해 말했더니 이렇게 말하더군. "양이라도 세봐!" 정말 도움이 안되는 친구라고 생각했었지. 그런데 막상 또 다시 잠을 청해보려고 침대에 눕고 보니 양을 세고 있더군... 그런데 양을 세다보니 이걸로 프로...
눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다.예를 들어 M=5, N=7 인 모눈종이 위에 <그
문제에서 요구하는 적어도 대부분의 배수란 적어도 세 개의 수로 나누어지는 가장 작은 수를 의미하므로, 이 방법을 사용하여 계산했다.GCD (Greatest Common Divisor) 두 수의 최대공약수는 두 수의 공통된 약수 중 가장 큰 값LCM (Least Comm
🖥️ 문제 📝 풀이 먼저, 각 문자의 빈도를 추적하기 위해 HashMap을 사용했다. 이 맵은 문자열을 한 번 순회하며 각 문자가 몇 번 등장하는지를 기록한다. 이렇게 하면 각 문자가 짝수 번 등장하는지, 홀수 번 등장하는지를 쉽게 알 수 있다. 빈도가 짝수인 문자는 회문에서 양쪽 대칭에 균등하게 배치될 수 있다. 하지만 빈도가 홀수인 문자는 중앙...
먼저, 각 문자의 빈도를 추적하기 위해 HashMap을 사용했다. 이 맵은 문자열을 한 번 순회하며 각 문자가 몇 번 등장하는지를 기록한다. 이렇게 하면 각 문자가 짝수 번 등장하는지, 홀수 번 등장하는지를 쉽게 알 수 있다.빈도가 짝수인 문자는 회문에서 양쪽 대칭에
Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie.Each child i has a gr
You are given an integer array cost where costi is the cost of ith step on a staircase. Once you pay the cost, you can either climb one or two steps.Y
문제를 해결하기 위해, 동적 계획법(Dynamic Programming)을 사용해 이전 결과를 활용하여 다음 값을 계산하는 반복문 방법을 선택했다.Tribonacci 수열의 시작점인 T0, T1, T2 값이 이미 정의되어 있으므로, 이들에 대한 기본 조건을 설정한다.
You are given an array prices where pricesi is the price of a given stock on the ith day.You want to maximize your profit by choosing a single day to