class Solution {
public String solution(String phone_number) {
String tail = phone_number.substring(phone_number.length()-4);
return "*".repeat(phone_number.length()-4)+tail;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언
//숫자 개수와 연산 횟수 받기
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int m = Integer.parseInt(stringTokenizer.nextToken());
int n = Integer.parseInt(stringTokenizer.nextToken());
//합 배열 만들기
long[] sum = new long[m+1];
stringTokenizer = new StringTokenizer(br.readLine());
for(int i=1; i<=m; i++){
sum[i] = sum[i-1] + Integer.parseInt(stringTokenizer.nextToken());
}
//범위 받고 결과 출력하기
long[] answers = new long[n];
for(int i=0; i<n; i++){
stringTokenizer = new StringTokenizer(br.readLine());
int s = Integer.parseInt(stringTokenizer.nextToken());
int e = Integer.parseInt(stringTokenizer.nextToken());
answers[i] = sum[e] - sum[s-1];
}
for(long a : answers){
System.out.println(a);
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언
//수열 개수 받기
int numbers = Integer.parseInt(br.readLine());
//수열 받기
int[] arr = new int[numbers];
for(int i=0; i<numbers; i++){
arr[i] = Integer.parseInt(br.readLine());
}
//스택 생성
Stack<Integer> stack = new Stack<>();
StringBuffer sb = new StringBuffer();
int num = 1;
boolean result = true;
for(int i=0; i<numbers; i++){
int su = arr[i];
if(num <= su){ //현재 수열 값보다 값이 작으면 계속 더하면서 스택에 값을 넣는다.
while(num <= su){
stack.push(num++);
sb.append("+\n");
}
stack.pop();
sb.append("-\n");
}
else { //스택의 값이 현재 수열 값보다 값이 크면
int y = stack.pop();
if(su < y){
System.out.println("NO");
result = false;
break;
}
else {
sb.append("-\n");
}
}
}
if(result) System.out.println(sb.toString());
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
static ArrayList<Integer>[] A;
static boolean[] visited;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int n = Integer.parseInt(stringTokenizer.nextToken());
int m = Integer.parseInt(stringTokenizer.nextToken());
A = new ArrayList[n + 1];
visited = new boolean[n + 1];
for (int i = 1; i < n + 1; i++) { //인접 리스트 초기화
A[i] = new ArrayList<>();
}
for (int i = 0; i < m; i++) { //양방향 연결
stringTokenizer = new StringTokenizer(br.readLine());
int s = Integer.parseInt(stringTokenizer.nextToken());
int e = Integer.parseInt(stringTokenizer.nextToken());
A[s].add(e);
A[e].add(s);
}
int count = 0;
for (int i = 1; i < n + 1; i++) {
if (!visited[i]) {
count++;
DFS(i);
}
}
System.out.println(count);
}
static void DFS(int v) {
if(visited[v]) {
return;
}
visited[v] = true;
for(int i : A[v]){
if(!visited[i]){
DFS(i);
}
}
}
}
Chapter 07. 보조기억장치
Chapter 08. 입출력장치
코테 전혀 감이 안 와서, 책 <알고리즘 코딩테스트 자바>에 나온 문제들을 먼저 풀어보고 풀이를 보는 방식으로 공부하기로 했다. 혼자 먼저 풀어서 성공한 적 없음,,ㅋㅠ
채용 절차에서 코딩테스트 보는 회사에 취직 할 수 있는건지..?