본문 바로가기

전체 글

(33)
프로그래머스(lv3) - 순위 / 그래프(java) 문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 설명 :n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다.선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질..
백준 2161 - 카드1(Java) 구현 문제 출처 :https://www.acmicpc.net/problem/2161 문제 설명 :문제N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다.이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다.예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 버..
프로그래머스(lv3) - 가장 먼 노드 / 그래프 (JAVA) 문제 출처 :https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 설명 :n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 soluti..
백준 1654 - 랜선 자르기 (java/자바) 이분 탐색 문제 출처 : https://www.acmicpc.net/problem/1654 문제 풀이 :주어진 랜선의 총 개수 K, 만들어야 할 랜선 개수 N일 때이분 탐색을 이용해 각 랜선을 쪼개어서  총 N개를 만족하는 최대 랜선 길이를 구해야 한다.  이진 탐색의 범위는 low : 1 cmhigh : 랜선 배열 중 가장 긴 랜선 주의 사항은 랜선 배열의 각 랜선의 길이가 ' 2의31승-1보다 작거나 같은 자연수' 라고 했으므로 변수 타입을 long 타입으로 지정해주어야 하고, 최대 랜선 길이 값이 N개 이상으로 나뉘어질 수 있을 때에만 업데이트 될 수 있도록 해야 한다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputSt..
백준 2559 수열 (Java/자바) 슬라이딩 윈도우 문제출처 :https://www.acmicpc.net/problem/2559 문제풀이 : 2중 for문을 사용하여 구간별 합을 모두 구하고 max 합을 구하는 방식으로 구현하면최대 N*M의 시간이 소요되기 때문에 시간 초과가 될 수 있다. (이중 for문으로 구현했을시 코드)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Boj2559_NoSlidingWindow { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new In..
프로그래머스(lv 3) - 단어 변환 (Java/자바) DFS/BFS 문제 출처 :https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제설명: 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2. words에 있는 단어로만 변환할 수 있습니다.예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","co..
프로그래머스 LV1 > 체육복 (자바/JAVA) - 그리디 알고리즘 문제 출처 :https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 :점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 ..
프로그래머스 lv3 > 네트워크 (DFS) (JAVA/자바) 문제출처 :https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제설명 :네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.컴퓨터의 개수 n, 연결에 대한 ..