본문 바로가기

전체 글237

[프로그래머스] 완전탐색, 규칙찾기 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배운 점 완전탐색 문제를 선택해서 완전탐색 문제인지는 알고있었다. 그래도 처음 봤다고 생각하고 이 문제를 어떻게 풀지 생각했다. 규칙 찾기 시도 yellow가 24개이고 24x1 줄 일때 브라운은 26+26+1+1= 54 개이다 yellow가 24개이고 12x2 줄 일때 브라운은 14+14+2+2= 30 개이다 yellow가 24개이고 8x3 줄 일때 브라운은 10+10+3+3 = 26 개이다 yellow가 24개이고 6x4 줄 일때 브라운은 8+8+4+4 = 24개이다 공식이 보인다. (엘로우 가로+ .. 2024. 2. 23.
완전탐색(브루트 포스), 백트래킹 https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr A가 고를 주사위의 총 경우의 수 구하기 < - 완전탐색 static int n; static boolean[] visited; static List diceComb; static void permutation(int depth, int index, int[] arr) { if (depth == n / 2) { diceComb.add(arr.clone()); //깊은 복사 return; } fo.. 2024. 2. 23.
[프로그래머스] 요격 시스템(정렬, 그리드 / 자바) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 주황색은 폭탄이 날라가는 구간이다. 우린 이 폭탄을 미사일로 요격해야 한다. 이때 최소로 필요하는 요격 미사일 개수를 구하면 되는 문제다. 입출력 예 설명 사진 - 프로그래머스 출처 풀이 어떤 유형의 문제인지 파악하는 것이 첫 번째이다. 정렬, 그리드 문제이다. 그리드 알고리즘 : 매 순간 최적이라고 생각되는 선택을 해나가면서 최종적인 해답에 도달하는 방식 이차원 배열을 첫번째 원소 기준으로 오름차순으로 정렬한다. 카운트를 해주며 요격 구간을 변경한다. 이전 폭탄구간에 현재 폭탄 시작점이 들지.. 2024. 2. 20.
[백준] 좌표 정렬 11650번 (이차원 배열 정렬) https://st-lab.tistory.com/110 출처: import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[][] arr = ne.. 2024. 2. 20.
알고리즘 관련 단어 BFS, DFS는 반드시 알아놔야 한다. 하드코딩으로 문제를 해결할 수 있다 하더라도 시간복잡도에서 걸러지기 마련이다. DFS (Depth-First Search) 한 가지 경우를 검증하고 아니면 돌아가는 방식이다. 스택, 재귀함수 이용 / 그래프 구조, 미로 찾기 유용 visited 리스트를 만들어서 방문한 노드를 저장한다 DFS를 최단거리에서 사용하지 않는 이유 목적지와 반대방향이더라도 끝까지 탐색하기 때문에 BFS (Breadth-First Search) visited 리스트를 만들어서 방문한 노드를 저장한다 큐 이용 / 최단 경로 찾기 유용 가중치가 없는 간선, 최단거리 문제에 이용 가중치가 있는 간선에서 BFS를 쓰지 않는 이유 BFS가 Greedy한 알고리즘이 아니기 때문이다 다익스트라(Dij.. 2024. 2. 20.
<당신의 뇌는 변화가 필요합니다> - 가비아 톨리키타 사실 우리 모두의 뇌는 에너지를 절약하고 반응 시간을 단축하기 위해 '습관'을 만들고 유지하도록 설계되었다. 습관 변화의 측면에서 가장 중요한 조직은 전두엽의 가장 앞부분인 전전두피질이다. 밤 = 전전두피질의 지배를 받는 우리의 의지력 바닥 새로운 습관 형성의 첫 번째 규칙은 " 새로운 일은 아침이나 휴식 직후에 하라." 새로운 방식으로 일을 하기 위해서는 한층 발달된 뇌 중추를 사용해야 하며 여기에는 훨씬 많은 에너지가 들기 때문이다. 앤드류가 빵을 그만 먹고자 한다면 우선 이런 욕구를 충족시킬 더 나은 방법을 찾아야 한다. 배고픔 -> 건강주스 원인을 찾고 다른 방법으로 대체 그 습관을 바꿀 때의 많은 이점을 목록으로 만들어야 한다. 그 습관을 바꾸지 않을 때 지금의 그리고 장래의 부정적 결과도 목록.. 2024. 2. 20.
소설이 존재할 이유는 없다(Feat 독서는 치열하게) 나는 책을 좋아한다.내가 읽는 분야로는 건축, 미술, 사진, 심리, 철학, 재즈, 경제, 과학이 있다.유튜브를 보다 과학과 전혀 관련 없는 사람이 요즘 양자역학을 공부한다고 썰을 푸는 장면을 보았다. 보다가 의아했다. 왜 이 사람이 양자역학을??남을 보게 되니 내가 보였다.나도 다독을 하던 시절 여러 분야에 책을 읽게 됐다. 책이라면 다 좋지라는 생각으로 구미가 당기는 책을 닥치는 대로 읽었다. 당연히 과학도 포함됐다. 내가 과학을 일상에서 쓰지 않으니 당연히 기억에 남지 않았다. 지식의 폭을 넓히는 건 대화의 주제를 넓히기 위함과 뽐냄을 위함이었다. 물론 나쁜 이유는 아니라 생각한다. 그러나 우리에게는 시간이 한정적이다.내가 책을 읽는 이유는 무엇인가를 반문하게 되었다. 인생의 갈피를 잡지 못했던 시절.. 2024. 2. 12.
프로그래머스 sql 문제 풀이하면서 배운 점(2) 문제1 https://school.programmers.co.kr/learn/courses/30/lessons/157339 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 .. 2024. 2. 9.
프로그래머스 sql 문제 풀이하면서 배운 점(1) 문제1 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. SELECT USER_ID, PRODUCT_ID FROM ( SELECT USER_ID, PRODUCT_ID, COUNT(*) AS purchase_count FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*) > 1 ) AS repeat_sales ORDER BY USER_ID ASC, PRODUCT_ID DESC; 배운점 테이블에 판단할 속성이 없으므로 테이블 .. 2024. 2. 8.