알고리즘/백준 5

[백준] 10828번 : 스택 - JAVA(자바)

백준 10828번 : 스택  문제 풀이자료 구조인 스택을 만드는 문제로, 스택의 개념을 이미 알고 있다면 쉬운 문제이다!사실 모르고 있어도 문제 내용을 보면 쉽게 풀 수 있다. 스택은 후입선출(LIFO : Last In First Out) 구조로 먼저 들어온 데이터가 나중에 빠져나가고, 나중에 들어온 데이터가 먼저 빠져나간다. 즉, 단방향 입출력 구조이다. 자바는 util 패키지 안에 Stack이 따로 있지만문제에서는 Stack을 사용하지 않고, ArrayList로 스택을 만들었다. 문제 풀이 자체는 if문을 사용한 간단한 방식으로 풀었다. 코드import java.io.*;import java.util.*;public class Main { public static void main(String[..

알고리즘/백준 2025.02.27

[백준] 11655번 : ROT13 - JAVA(자바)

백준 11655번 : ROT13  문제 풀이백준 11655번은 브론즈 1 난이도로 구현, 문자열에 관한 문제입니다. 우선 문자열을 입력 받은 뒤 문자열의 길이만큼 반복문을 돌립니다.이때 charAt()함수를 사용해서 char형으로 문자열을 잘랐고,그 문자가 A ~ Z 범위인지, a ~ z 범위인지를 구분했습니다. 또 구분한 그 안에서 만약 아스키 코드 값으로 원래 문자 + 13을 했을 때 z의 범위가 넘어갈 경우문자 - 13을 하면 다시 a값부터 시작하므로 알맞은 문자를 찾을 수 있습니다.대소문자 둘 다 동일한 방식이므로 아스키 코드만 바꿨습니다. 코드import java.io.*;public class Main { public static void main(String[] args) throws IOE..

알고리즘/백준 2025.02.26

[백준] 11656번 : 접미사 배열 - JAVA(자바)

백준 11656번 : 접미사 배열   문제 풀이백준 11656번은 실버 4 난이도로 문자열, 정렬에 관한 문제입니다.입력 받은 문자열의 접미사를 사전순으로 정렬하는데, 이때 입력 받은 문자열을 포함해 모든 접미사를 찾아야 합니다. baekjoon이라는 문자열을 입력 받으면baekjoon부터 앞글자를 하나씩 제외해 aekjoon ... oon, on, n으로 총 8가지를 구합니다.따라서 문자열을 자르는 함수를 사용하고, 그렇게 자른 값을 배열에 저장한 뒤그 배열을 정렬해서 출력하면 됩니다. 문자열 자르기 : substring(시작 인덱스, 끝 인덱스)배열 정렬 : Arrays.sort(정렬할 배열) 코드import java.io.*;import java.util.Arrays;public class Main..

알고리즘/백준 2025.02.25

[백준] 10809번 : 알파벳 찾기 - JAVA(자바)

백준 10809번 : 알파벳 찾기  문제 풀이백준 10809번 알파벳 찾기는 브론즈 2 난이도로 구현, 문자열 문제입니다.저번에 작성한 10808번과 유사한 문제로 어려움 없이 풀 수 있습니다. 이번 방식에서는 map이 아닌 배열과 인덱스를 사용해서 풀었습니다.이전 포스팅을 참고하면 제가 배열로 푸는 방식이 있다고 말씀드렸는데, 그 방식을 활용했습니다. 배열을 알파벳 개수 26개 크기로 선언을 하고,배열의 인덱스 0번부터 소문자 a값을 넣기 위해 a의 아스키 코드인 97을 빼는 방식을 사용하면 됩니다. 코드import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader..

알고리즘/백준 2025.02.21

[백준] 10808번 : 알파벳 개수 - JAVA(자바)

백준 10808번 : 알파벳 개수  문제 풀이백준 10808번 알파벳 개수는 브론즈 4 난이도로 구현, 문자열에 관한 문제입니다.단어는 알파벳 소문자로만 이루어져 있고, 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하면 됩니다. 저는 map과 아스키 코드를 활용해 각 알파벳과 개수를 저장했습니다.key를 알파벳으로, value를 단어에 속한 알파벳 개수를 카운트하는 방식으로 풀이를 진행했습니다. 소문자 a는 아스키 코드로 97의 값을, 알파벳의 마지막인 소문자 z는 아스키 코드로 122의 값을 가집니다.이를 활용해 문제를 풀 수 있습니다. 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] a..

알고리즘/백준 2025.02.16