싱글톤 패턴하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴장점 - 인스턴스 생성 시 비용이 줄어듬단점 - 의존성이 높아짐 예시코드class Singleton{ constructor(){ if(!Singleton.instance){ Singleton.instance = this } return Singleton.instance } getInstance(){ return this.instance }}const a = new Singleton()const b = new Singleton()console.log(a==b) // true : Singleton.instance 라는 하나의 인스턴스를 가지는 Singleton 클래스 const URL = 'URL';cons..
분류 전체보기
문제 파악가장 중요한 조건은i번째 집은 i-1번째 집과 i+1번째 집과 색이 같지 않아야 한다.첫 번째 집과 마지막 집은 색이 같지 않아야 한다.두 조건이였습니다. 문제 풀이 첫 번째 집의 색상을 R, G, B 중 하나로 고정해서 3가지 경우를 각각 계산DP 배열을 사용하여 i번째 집을 어떤 색으로 칠했을 때의 최소 누적 비용을 저장-> DP 배열은 매번 새로 선언해야 함. 마지막 집의 색상이 첫 번째 집과 다른 경우만 정답 후보 ! 코드 구현import java.util.*;import java.lang.*;import java.io.*;class Main { static int n; static int [][] cost; static final int INF = 1_000_000_..
문제 파악https://www.acmicpc.net/problem/16953 접근 방법bfs를 통해 접근하면 어떨까?2를 곱하는 경우1을 을 수의 가장 오른쪽에 추가하는 경우두 가지의 경우의 수를 큐에 넣어 준 다음, 만약 a가 b와 같게 된다면 answer를 갱신하고, 반복문을 종료하였다.무한 루프의 반복을 막기 위해, 다음 수가 b값을 넘지 않는 조건에서만 큐에 다음 수를 넣어주었다. 코드 구현첫번째 코드(틀린 코드)import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main { public static void main(String[] ar..
🔍 CES란?: 세계가전전시회(Consumer Electronices Show), 매년 라스베가스에서 열리는 세계 최대 규모의 기술 전시회 🔍 KeyWord `몰입` (dive in): 기술을 통해 연결하고, 문제를 해결하며, 새로운 가능성을 발견하자 1️⃣ AI를 활용한 가전제품: 가족 구성원 목소리를 인식하여 초개인화 서비스를 제공하는, 삼성전자의 AI 음성 비서 '빅스비': 집안 센서로 자고 있는 사용자의 심박수와 호흡을 통해 건강관리를 해주는, LG전자의 AI홈 '허브' 2️⃣ 휴머노이드 시대: 인간처럼 생긴 AI 로봇: 계단 오르기, 몸 비틀기부터 상대를 인식하고 소통까지 가능한 로봇들✅ 엔비디아 CEO 젠슨 황이 기조연설 무대에서 13개의 휴머노이드 로봇과 함께하며 더욱 이목을 ..
✔ 문제 파악https://www.acmicpc.net/problem/1700 ✔ 문제 풀이그리디 알고리즘 문제이다.그리디 알고리즘이란?매 선택에서 당장 눈 앞에 보이는 최적의 상황만 쫓아 최종적인 해답에 도달하는 방법이다. 그리디 유형에서 가장 중요한 것은, 그리디 유형인지 알아보는 것이다 ! (당연한 말씀을.. ) 최소한으로 제품을 뽑아내면서 모든 제품을 사용할 수 있도록 멀티탭을 관리하기 위해서 생각난 알고리즘은OPT 알고리즘이다. OPT알고리즘은 페이지 교체 알고리즘 중 하나로, 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 알고리즘이다.그렇게 때문에 우리는 현재 상황에서 앞으로 가장 오랫동안 사용하지 않을 플러그를 빼버리고 지금의 플러그를 꽂아줄 것이다. 크게 2가지 상황으로 나..
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 백트래킹(dp) 풀이(재귀를 활용한 풀이) import java.util.*;class Solution { String target; String [] words; int answer = Integer.MAX_VALUE; boolean [] visited; int result=0; public int solution(String begin, String target, String[] words..
https://www.acmicpc.net/problem/15654 ✔ 문제 풀이재귀의 정석인 N과 M시리즈 5를 모셨습니다.매번 느끼지만 아무래도 알고리즘은 파이썬이 짱인듯해요 ! 재귀에서 가장 중요한 것은 종료조건 설정(return)여기에서 종료조건은 👉 result (우리가 출력할 배열)의 크기가 M개인 것 (M개를 뽑기 때문이다). 그 이외는 배열을 미리 정렬해줄 것.중복된 숫자를 뽑지 않기 위해 방문배열을 기록해줄 것이다 ~~! 이해하기 어렵다면 N과 M 시리즈를 처음부터 풀어보는 것을 추천한다.https://www.acmicpc.net/workbook/view/2052 static void dp(int depth){ // 종료조건 : M개만 뽑을 것 if(depth..
✔ 문제설명https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다.ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA조이스틱을 각 방향으로 움직이면 아래와 같습니다.▲ - 다음 알파벳▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로)◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서)▶ - 커서를 오른쪽으로 이동 (마지막 위치에서 오른쪽으로 이동하면 첫 번째 문자에 커서)예..
✔ 문제파악https://school.programmers.co.kr/learn/courses/30/lessons/42862?itm_content=course14743 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 체육복을 잃어버린 사람들의 배열과, 여분 체육복을 가진 사람들이 존재한다.만일, 앞뒤 사람에게만 체육복을 빌려줄 수 있을 경우, 최대한 많은 학생이 체육복을 입을 수 있는 경우의 수는 무엇일까? ✔ 접근방법그리디 알고리즘 1) int answer = n-lost.length;-> 체육복을 잃어버린 사람 수를 빼준다. 2-1) 옷은 잃어버렸지만, 여분의 체육복이 있었을 경우 -> 다른 ..
https://www.acmicpc.net/problem/1062 ✔ 문제파악첫번 째 줄에 단어의 개수 N과 배울 수 있는 글자 수 K가 주어진다. 그리고 단어 배열이 주어진다.선생님은 학생들에게 K개의 글자를 가르칠 수 있는데, K개의 글자를 가르친 후 학생들이 읽을 수 있는 단어의 개수가 최대인 값이 무엇인지 구하여라.접두사는 "anta", 접미사는 "tica"로 끝난다. ✔ 접근방법백트래킹(DP 문제), 브루트포스 알고리즘 1) 단어 배열을 예쁘게 만들어 준 후, 공통된 접두사와 접미사에 포함된 글자를 방문 처리해준다.=> 우리는 배운 글자를 boolean 방문 배열을 통해 해결해줄 것이다 ! visited['a' - 97]을 빼주는 이유는 소문자 a의 아스키코드가 97이기 때문. 🎐..