1. 출처 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 2. 설계 문제 이해 - N개의 섬이 있고, 각 섬에는 한 사람씩 살고 있다. - 파티는 X번 섬에서 열린다. (X섬 중 1개) - 각 친구들은 각자 사는 섬에서 파티 가는길 + 다시 집으로 오는 길 = 최단거리를 구하고 각 친구들의 왔다갔다 한 거리 중 가장 멀었던 곳을 선정하는 것이다. 1) 모든 섬을 다 안 거쳐도 된다. 2) 최단 거리를 구한다. -> 프림이 아니고, 다익스트라를 쓰자! 설계 - 다익스트라는 알고리..
1. 문제 출처 2. 설계 - 노드가 연결된 모양세를 보고 같은 네트워크를 가진 뭉텅이는 몇 개가 있는지 세주는 문제이다. - 즉, 부모가 같은 무리가 몇 개인지 세주는 것이다. - 그래서 union-find 풀면 될 것 같았다. 3. 전체 코드 //union - find class Solution { static int[] p; static int[] order; public int solution(int n, int[][] computers) { int answer = 0; p = new int[n+1];//1부터 시작 order = new int[n+1]; setP(n); int rowLength = computers.length; int colLength = computers[0].length; ..
1. 문제 출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설계 - 첫번째 방법처럼 동서남북으로 이동해 최대한 빠르게 상대방 진영(5,5)까지 진출하는 것이다. - 이렇게 상대방 진영에 진입하지 못할 수도 있다. - BFS를 사용해 가장 빠른 DEPTH로 도착하는 정답을 구하자 (아래와 같다) - 단 갔던 길은 다시 못가게 visited 배열을 관리할 필요가 있다. 3. 전체 코드 import java.util.*; class Solution { //상하좌우 static int[][] direction = {{-1,0},{1,0},{0,-1},{..
1. 문제 출처 문제 경로 : 코딩테스트 연습 > 깊이/너비 우선 탐색 > 타겟넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 타겟 넘버 2. 설계 및 코드 방법1) DFS DFS는 시스템 스택을 사용하는 방법이다. 변수 설명 * numbers : 정답을 도출하기 위한 숫자들의 집합 * target : numbers로 도출해야 하는 정답 * idx : numbers 어느 숫자에 접근해야 하는지 나타내는 인덱스 * cur : 현재 numbe..
1. 문제 출처 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 설계 - NxN 영역 안에서 MxM크기의 파리채로 내려쳤을 때 최대로 죽일 수 있는 파리 수를 세는 것이다. - N은 5~15이며, M은 2~N이다. - 파리채로 내려칠 공간의 시작과 끝 공간을 정한다. - 시작은 (0, 0) 이다. - 끝은 (N, N)에서 M-1회 좌 대각선으로 이동한 위치이다. - 시작과 끝 위치를 정하면 for을 돌릴 범위가 선정된다 (row, col) 이 위치만큼 파리채로 내려칠 수 있다. - 이 범위 안에서 가장 많은 파리를 잡은 수를 출력하면 된다. 3. 전체 코드 package 파리퇴치; import java.u..
1. 문제 출처 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 설계 문제 이해 - 3장의 카드가 연속 수일 경우 run - 3장의 카드가 같은 수일 경우 triple - run 혹은 triple로만 카드가 이뤄진 경우 baby - gin - 우리는 baby - gin이냐 아니냐를 판별할 것이다. CASE1. 만약 작은 수 순으로 정렬한다면? - 012 111 이 케이스는 baby-gin이다. - 근데, 정렬을 해버리면 011112가 되므로 baby-gin이 아니라고 뜰 것이다. CASE2. 빈도수 배열로 정리 -> run 체크 -> triple 체크 - 0~9사이의 카드 번호를 배열의 인덱스로 빈도수 정..
1210. Ladder1 오늘은 브루트포스 알고리즘, 완전탐색을 배웠는데... 매우 힘겨웠다 ^^ 1. 문제 점심 시간에 산책을 다니는 사원들은 최근 날씨가 더워져, 사다리 게임을 통하여 누가 아이스크림을 구입할지 결 tksgk2598.tistory.com 확실히 과거와는 문제 푸는 방식이 달라진 듯 하다. 무작정 코드 먼저 쳐서 모든 출발지에서 출발했던 코드 하지만 이번 코드는 도착지를 선정해서 그 도착지에서 1가지 출발지를 찾는 방식으로 진행했다. 1. 문제 출처 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 설계 - 도착지를 먼저 찾고, 그 도착지를 거슬러 올라가 출발지를 찾자 //1. 맨 밑에서 ..
1979. 어디에 단어가 들어갈 수 있을까 1. 문제 N X N 크기의 단어 퍼즐을 만들려고 한다. 입력으로 단어 퍼즐의 모양이 주어진다. 주어진 퍼즐 모양에서 특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작 tksgk2598.tistory.com 2월에 풀었던 것과는 사뭇 다른 풀이 방식 1. 문제 출처 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 설계 - 정사각형의 크기 N이 주어짐 - 낱말의 길이 K가 주어짐 - 하얀색 빈칸이 딱 K인 부문만 찾아야함 (가로/세로) - 하얀색 칸 (1)이 나올 땐 count를 up해주다가 검정색 칸(0)이 나올 때 count가 k면..