목록Baekjoon (4)
각진 세상에 둥근 춤을 추자
스택 (Stack)이란? 스택(Stack)은 데이터 구조의 하나로, 데이터를 쌓아 올린 형태를 가진 구조이다. 기본적으로 후입선출 (LIFO, Last-In-First-Out) 원칙을 따르는데, 가장 나중에 추가된 데이터가 가장 먼저 제거된다는 뜻이다. 📌 스택의 주요 연산1. push: 데이터를 스택의 맨 위에 추가하는 연산2. pop: 스택의 맨 위에 있는 데이터를 제거하고 반환하는 연산3. peek (또는 top): 스택의 맨위에 있는 데이터를 제거하지 않고 확인하는 연산4. isEmpty: 스택이 비어있는지 확인하는 연산 📌 스택 활용 예시1. 웹 브라우저의 뒤로가기: 브라우저에서 페이지를 탐색할 때 방문한 페이지를 스택에 저장한다. 뒤로 가기를 누르면 가장 최근에 방문한 페이지부..
문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. package step06; import java.util.Scanner; import java.util.StringTokenizer; public class _06 { public static void main(String[..
문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. package step06; import java.util.Scanner; public class _05 { public static void main(String[] args) { // 알파벳 A-Z, ? int arr [] = new int [27]; // 최빈수 int m..
문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. package step..