programmers 17

[프로그래머스] 자물쇠와 열쇠 - Javascrip

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :자물쇠의 빈 공간에 열쇠의 돌기가 맞아야 한다.자물쇠의 돌기와 열쇠의 돌기가 맞닿으면 안 된다.키는 특정 부분만 사용하여 자물쇠를 열 수 있다. 문제 풀이 시간 : 1시간 30분문제 성공 여부 : 성공 접근 방법(성공) :자물쇠에 대해 가능한 모든 열쇠 모양을 시뮬레이션 다음과 같은 키와 자물쇠가 주어진다고 보자. 자물쇠에 대해 모든 key 모양을 다 대입시키려면, 적어도 키의 한 칸은 자물쇠와 맞물려야 한다. 따라서, 자물..

[프로그래머스] 이중우선순위큐 - Javascript

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :최대, 최소 값 삭제, 숫자 삽입 명령 세 가지가 주어진다. 모든 연산 이후 최대와 최솟값을 출력하라. 문제 풀이 시간 : 20분문제 성공 여부 : 성공 접근 방법(성공) :일반 배열에 숫자를 계속 삽입한다.삭제 명령어 직전, 배열을 정렬하고 shift(), pop()으로 최소, 최대 값을 제거한다. 문제를 가만 생각해 보니 출제 의도와는 다른 허점을 발견하였다. (절대 힙을 구현하기 귀찮아서가 아니다.)명령어의 최대 개수는..

[프로그래머스] 오픈채팅방 - Javascript

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :유저가 들어올 때, 나갈 때의 로그를 출력해야 한다.중간에 닉네임이 변경되면, 변경된 닉네임이 최종적으로 출력되어야 한다.닉네임은 나가서 변경하고 재입장, Change 커맨드를 통해 변경할 수 있다. 문제 풀이 시간 : 20분문제 성공 여부 : 성공 접근 방법(성공) :최종적으로 유저의 uuid에 따른 이름만 알면 되기에, Map으로 이름을 최신화한다.입장과 퇴장 로그만 출력하면 되기에, 해당 로그만 따로 관리한다.위에 글과..

[프로그래머스] 디펜스 게임 - Javascript

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/142085# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :라운드 별로 enemy[i] 명의 적이 등장한다.아군 병사 n명과 라운드 스킵 횟수 k를 이용하여 최대 클리어 가능 라운드 수를 출력하라 문제 풀이 시간 : 30분문제 성공 여부 : 성공 접근 방법(성공) :이진탐색으로 최대 클리어 가능한 라운드 수 구하기 내가 생각한 문제의 핵심은 다음과 같다. 1. 무적권(k)는 특정 범위(라운드)에서 가장 큰 수부터 사용해야한다.2. 가장 큰 수를 구하는 쉬운 방법은 힙을 사용하거나..

[프로그래머스] 방금그곡 - Javascript

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/17683# 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :라디오에서 특정시간 동안 같은 노래가 반복된다.네오가 기억하고 있는 일부 가사(음)를 이용해 가장 적절한 노래 제목을 찾아라 문제 풀이 시간 : 1시간문제 성공 여부 : 성공 접근 방법(성공) :라디오에서 방영된 총 재생 시간을 분 단위로 계산한다해당 시간동안 들리는 노래 가사(음)를 하나의 문자열(s)로 만든다.m(네오가 기억하고 있는 가사)를 s에 포함되어 있는지를 찾는다.단, #이 포함된 가사(음)은 소문자 등으로 ..

[프로그래머스] N-Queen - Javascript

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/12952 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :n*n의 체스판에서 n개의 퀸이 서로 공격할 수 없게 배치하는 경우의 수 문제 풀이 시간 : 30분문제 성공 여부 : 성공 접근 방법(성공) :2차원 배열을 만든다(체스판)dfs(백트래킹)을 통해 둘 수 있는 모든 경우의 수를 파악한다.이런 체스판이 있으면 퀸은 열에 최대 하나밖에 둘 수 없다. ( 퀸은 가로, 세로, 대각선으로 이동 가능 ) 따라서 열마다 한 개의 퀸을 두면서 해당 위치에 퀸을 둘 수 있는지를 계산하며 체스..

[프로그래머스] 리코쳇 로봇 - Javascript

문제 설명 : https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :격자 위에서 상하좌우로 로봇이 이동할 수 있다.대신 로봇은 한번 이동한 순간 격자의 벽면 혹은 장애물을 만날 때까지 계속 이동한다.로봇이 멈춘 순간, 목표지점에 도달하는 가장 최소 이동 거리를 구하라 문제 풀이 시간 : 30분문제 성공 여부 : 성공 접근 방법(성공) :bfs로 상하좌우 탐색 + 도착 칸의 최소 비용 갱신 현재 위치에서 상하좌우로 이동하면 되고, 장애물이나 벽을 만날 때까지 해당 방향으로 계속 ++ 해주면 ..

[백준] 성냥개비(3687) - java

문제 설명 :https://www.acmicpc.net/problem/3687 문제 요약 :주어진 성냥개비를 모두 써서 만들 수 있는 가장 작은 수와, 가장 큰 수 구하기 문제 풀이 시간 : 1시간 30분문제 성공 여부 : 성공 접근 방법(성공) :1. 큰 수 구하기큰 수 구하기는 매우 간단하다.수의 크기를 늘리기 위해서 가장 쉬운 방법은 자릿수를 늘리는 방법이다. 1은 성냥 2개로 만들 수 있는 가장 큰 수이므로, n/2개의 1을 만들 수 있다.예를 들어, 9라는 수가 있으면 9/2 = 4 이므로 1111을 만들 수 있다.하지만, 이 경우 성냥개비가 1개가 남게 되고, 더 이상의 숫자를 만들 수 없다. 따라서, 성냥을 2개보다 더 사용해서 1이 아닌 다른 수를 만들어서 나머지 값이 없도록 만들어야 한..

코테/백준 2025.05.22

[프로그래머스] 주식가격 - java

문제 설명 :https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :각각의 시간 단위에 대해, 현재 기준 주식가격이 하락하지 않는 기간 구하기 쉽게 말해서,[1, 2, 3, 2, 3]이라는 예가 있다.1초 시점에는 1원의 가치,2초 시점에는 2원의 가치,3초 시점에는 3원의 가치,4초 시점에는 2원의 가치,5초 시점에는 3원의 가치를 나타내는 배열이다. 1초 시점에는 1원이기에, 5초 시점까지 주식의 가치가 더 떨어지는 시점이 없다.따라서 1초 시점은 4초간 가격 하락이 없다. 3초 시점에서는 ..

[프로그래머스] 뒤에 있는 큰 수 찾기

문제 설명 :https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 요약 :배열의 각각의 수에 대해, 더 큰 수 이면서 가장 가까운 수 구하기 문제 풀이 시간 : 20분문제 성공 여부 : 성공 접근 방법(실패) :배열의 뒤에서부터 접근뒤에서부터 가장 큰 수를 저장배열을 앞으로 탐색하며, 가장 큰 수와 비교가장 큰 수보다 클 경우, 더 큰 수는 뒤에 없기 때문에 -1가장 큰 수보다 작을 경우, 가장 큰 수 사이를 탐색하며 가장 가깝고 더 큰 수 찾기제한 사항이 최대 1,000,000까지라 5번 상황..