알고리즘

    백준 5397번 키로거 [ Java ]

    백준 5397번 키로거 [ Java ]

    5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이 www.acmicpc.net 이전에 풀었었던 에디터문제랑 동일한 방식으로 스택을 이용하여 풀었습니다. 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu..

    백준 1406번 에디터 [ Java ]

    백준 1406번 에디터 [ Java ]

    1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 처음엔 입력출력 때문에 시간 초과 나는줄 알았는데 스택을 사용한 더 빠른 풀이가 있었습니다.. 틀린 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] arg..

    백준 1919번 애너그램 만들기 [ Java ]

    백준 1919번 애너그램 만들기 [ Java ]

    1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] words1 = sc.nextLine().toCharArray(); char[] words2 = sc.nextLine().toCharArray(); int[] alpha = new int[26]; for (char c..

    백준 13300번 방 배정 [ Java ]

    백준 13300번 방 배정 [ Java ]

    13300번: 방 배정 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어 www.acmicpc.net 배열의 활용에 대한 문제입니다/ import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 여0 남1 int[][] students = new int[2][6]; int N = sc.nextInt(); int K = sc.nextInt(); for (int i=0; i

    백준 11328번 Strfry [ Java ]

    백준 11328번 Strfry [ Java ]

    11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net 알파벳 개수에 대한 배열을 만들어 첫 번째 단어의 해당 알파벳들의 개수를 세어주고 두 번쨰 단어의 알파벳들은 빼서 알파벳 개수가 모두 0인지를 확인했습니다. import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); for (int i=0; i

    백준 10807번 개수 세기 [ Java ]

    백준 10807번 개수 세기 [ Java ]

    10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] V = new int[201]; for (int i = 0; i

    백준 10808번 알파벳 개수 [ Java ]

    백준 10808번 알파벳 개수 [ Java ]

    import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] alpha = new int[26]; char[] words = sc.nextLine().toCharArray(); for (char ch : words) alpha[ch-97]++; for (int i : alpha) System.out.print(i+" "); } }​ 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 아스키 코드를 활용하여 풀었습니다.

    백준 15657번 N과 M (8) [ Java ]

    백준 15657번 N과 M (8) [ Java ]

    15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 조금만 변형하면 풀리는 문제 import java.util.*; public class Main { static int N, M; static int[] num; static int[] print; static StringBuilder sb = new StringBuilder(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M ..

    백준 15656번 N과 M (7) [ Java ]

    백준 15656번 N과 M (7) [ Java ]

    15656번: N과 M (7) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net import java.util.*; public class Main { static int N, M; static int[] num; static int[] print; static StringBuilder sb = new StringBuilder(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc.nextInt(); ..

    백준 15655번 N과 M (6) [ Java ]

    백준 15655번 N과 M (6) [ Java ]

    15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 이전 문제에서 한 단어만 바꾸면 풀리는 문제! import java.util.*; public class Main { static int N, M; static int[] num; static int[] print; static boolean[] visited; static StringBuilder sb = new StringBuilder(); public static void main(String[] args) { Scanner sc = new Scan..