Coding Test (134) 썸네일형 리스트형 [Java] N과 M 3 [15651번] https://www.acmicpc.net/problem/15651예제 입력13 1예제 출력1123예제 입력24 2예제 출력21 11 21 31 42 12 22 32 43 13 23 33 44 14 24 34 4예제 입력33 3예제 출력31 1 11 1 21 1 31 2 11 2 21 2 31 3 11 3 21 3 32 1 12 1 22 1 32 2 12 2 22 2 32 3 12 3 22 3 33 1 13 1 23 1 33 2 13 2 23 2 33 3 13 3 23 3 3문제 접근숫자 개수 N과 길이 M을 입력 받고, 1 ~ N까지, 1 ~ N까지 반복이 됨문제 해결예제 2번을 이중 반복문으로 생각하면 i = 1 ~ N까지, 그 다음 depth에서 다시 i = 1 ~ N까지 반복 됨기존 풀이 [메모리.. [Java] 좋은 단어 [3986번] 예제 입력13ABABAABBABBA예제 출력12예제 입력23AAAAAAB예제 출력21예제 입력31ABBABB예제 출력31문제 접근아치형 곡선을 그어 같은 글자끼리 쌍을 지음선이 교차할 경우 좋은 단어가 아님Stack을 이용하여 푸는 문제문제 해결선이 교차한다는 것은 ABAB처럼 앞에 글자와 다른 경우가 2번이상 생겼을 때를 의미다음의 규칙을 적용스택이 비어있을 경우 추가새로 넣을 값이 Stack의 top과 같이 같다면 top을 꺼냄새로 넣을 값이 Stack의 top과 다르면 push최종적으로 스택이 비어있으면 좋은 단어기존 풀이public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(n.. [Java] N과 M 2 [15650번] https://www.acmicpc.net/problem/15650예제 입력13 1예제 출력1123예제 입력24 2예제 출력21 21 31 42 32 43 4예제 입력34 4예제 출력31 2 3 4문제 접근N과 M 1의 문제에서 달라진 점은 앞의 수보다 뒤의 수가 작아야 함즉, 아래 같은 경우가 출력 되지 않음2 13 13 24 14 24 3문제 해결반복문의 시작값을 이전 i보다 1증가되어 시작DFS 함수 매개 변수로 현재 시점이라는 now 변수를 전달DFS 함수호출 시 현재 index를 1 증가, depth를 1증가하여 전달반복문의 i는 now부터 시작하여 numCount까지 반복기존 풀이 [메모리 : 14168KB / 시간 : 128ms]static StringBuilder sb = new Strin.. [Java] N과 M 1 [15649번] https://www.acmicpc.net/problem/15649예제 입력13 1예제 출력1123예제 입력24 2예제 출력21 21 31 42 12 32 43 13 23 44 14 24 3예제 입력34 4예제 출력31 2 3 41 2 4 31 3 2 41 3 4 21 4 2 31 4 3 22 1 3 42 1 4 32 3 1 42 3 4 12 4 1 32 4 3 13 1 2 43 1 4 23 2 1 43 2 4 13 4 1 23 4 2 14 1 2 34 1 3 24 2 1 34 2 3 14 3 1 24 3 2 1문제 접근대표적인 백트래킹의 DFS 문제boolean 배열을 이용하여 모든 경우의 수를 탐색문제 해결1 ~ N개의 수에서 길이가 M인 수열을 공백으로 출력 visited[N] 배열을 이용하여 방문.. [Java] 덱 [10866번] https://www.acmicpc.net/problem/10866예제 입력115push_back 1push_front 2frontbacksizeemptypop_frontpop_backpop_frontsizeemptypop_backpush_front 3emptyfront예제 출력1212021-101-103예제 입력222frontbackpop_frontpop_backpush_front 1frontpop_backpush_back 2backpop_frontpush_front 10push_front 333frontbackpop_backpop_backpush_back 20push_back 1234frontbackpop_backpop_back예제 출력2-1-1-1-111223331010333201234123420문.. [Java] 숫자 카드 2 [10816번] https://www.acmicpc.net/problem/10816예제 입력1106 3 2 10 10 10 -10 -10 7 3810 9 -5 2 3 4 5 -10예제 출력13 0 0 1 2 0 0 2문제 접근이전 숫자 카드(10815번) 문제와 조건은 동일출력 ⇒ 4번째 줄에 주어진 숫자 카드를 보유하고 있으면 몇 개인지까지 출력문제 해결Map 문제로 풀면 간단할 것으로 예상정렬은 굳이 하지 않아도 될 것 같으니 TreeMap은 필요 없음기존 풀이public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringB.. [Java] 숫자 카드 [10815번] https://www.acmicpc.net/problem/10815예제 입력156 3 2 10 -10810 9 -5 2 3 4 5 -10예제 출력11 0 0 1 1 0 0 1문제 접근1번째 줄 ⇒ 숫자 카드 개수 N (50만 이하)2번째 줄 ⇒ -1000만 ~ 1000만 사이의 카드가 주어짐3번째 줄 ⇒ 맞춰야할 카드 개수 M (50만 이하)4번째 줄 ⇒ 공백으로 -1000만 ~ 1000만의 숫자 카드 M개같은 숫자의 카드는 없음출력 ⇒ 4번째 줄의 카드를 가지고 있으면 1, 아니면 0문제 해결리스트로 저장 ⇒ X최대 50만개의 데이터 추가로 인해 시간 초과 발생 ⇒ Set으로 변경4번째 줄을 for문으로 하나씩 비교하여 1 or 0 StringBuilder에 저장기존 코딩public static voi.. [Java] 가희와 키워드 [22233번] https://www.acmicpc.net/problem/22233예제 입력15 2mapsetdijkstrafloydosmap,dijkstramap,floyd예제 출력132예제 입력22 2gt26cw1211trainkiwoom,lottegiantkbo예제 출력222문제 접근N개의 키워드가 메모장에 적혀있음글 1개당 최대 10개의 키워드 사용 가능2 ~ N + 1번 줄까지는 메모장의 키워드N + 2 ~ N + M + 1번 줄까지는 쓴 글과 관련된 키워드가 쉼표( , )로 입력문제 해결N은 최대 20만으로 배열로 하면 메모리 초과가 나올 것으로 예상메모장의 키워드는 중복되지 않기에 Set으로 저장글에 사용된 키워드를 반복문을 사용하여 Set 안에서 삭제글 하나 입력 시 마다 메모장에 남은 키워드(Set.si.. 이전 1 ··· 10 11 12 13 14 15 16 17 다음