본문 바로가기

자바 알고리즘 문제

(5)
[Java] Progrmmers 코딩테스트 연습 :가장 큰 수 (Array,배열) ---문제--- 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. ---코드--- import java..
[Java] 2020 카카오 공채 코딩테스트 문제 : 가사 검색(자료구조/ Trie 자료구조) --- 문제 --- 2020 KAKAO BLIND RECRUITMENT : 가사 검색 제시된 단어들 중 에서, 원하는 단어와 조건이 맞는 경우의 수를 세는 문제 정확도와 효율성을 둘 다 본다는 특징이 있는 문제였습니다. --- 코드 --- 문제를 보고 처음에 딱 든 생각은 완전탐색 이었습니다. queries 에 있는 단어들을 하나씩 가져와서 words에 있는 길이가 같은 단어들을 모두 검사하는 방식 입니다. 정확도에서는 만점을 받았지만, 역시나 효율성에서 막혔습니다 ㅠㅠ 그래서 어떤 방법이 좋을까 생각하다가, 카카오 페이지에 올라와있는 해설을 보게되었습니다. https://tech.kakao.com/2019/10/02/kakao-blind-recruitment-2020-round1/ 2020 신입 개발자..
[Java] SW Expert Academy 1217번 문제 (S/W 문제해결 기본, 완전탐색) --- 문제 --- 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 --- 코드 --- import java.util.Scanner; //import java.io.FileInputStream; import java.io.FileNotFoundException; public class Sw1217 { public static void main(String[] args) throws FileNotFoundException { //System.setIn(new FileInputStream("1217.txt")); Scanner sc = new Scanner(System.in); for(int test_case = 1; test_case
[Java] Progrmmers 코딩테스트 연습 : 네트워크 (DFS/BFS) ---문제--- 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 c..
[Java] Progrmmers 코딩테스트 연습 : 프린터 (Stack/Queue) ---문제--- 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번..

728x90
반응형