반응형

Exploration 153

[백준 #2751] 수 정렬하기 2

https://www.acmicpc.net/problem/2751 문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1554321 예제 출력 112345 해결 코드import java.util.Scanner;import java.util.List;import java.util.ArrayList;import java.util.Comparator;public class Baekjoon2..

[백준 #9012] 괄호

https://www.acmicpc.net/problem/9012 문제괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 ..

[백준 #11650] 좌표 정렬하기

https://www.acmicpc.net/problem/11650 문제2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 x_i와 y_i가 주어진다. (-100,000 ≤ x_,i y_i ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 예제 입력 153 41 11 -12 23 3 예제 출력 11 -11 12 23 33 4 해결 코드import java.util.Scanner;import java.util..

[MySQL] InnoDB란 무엇인가

InnoDB는 MySQL의 대표적인 스토리지 엔진으로, 데이터베이스의 핵심 기능인 트랜잭션 처리, 외래 키 지원, 충돌 방지 메커니즘 등을 제공합니다. MySQL 5.5.5 버전부터 기본 스토리지 엔진으로 채택되어 널리 사용되고 있습니다.    주요 특징  • ACID 준수:InnoDB는 데이터의 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability)을 보장하여 안정적인 트랜잭션 처리를 지원합니다. • 외래 키 지원:테이블 간의 관계를 명시적으로 정의하고, 데이터의 참조 무결성을 유지할 수 있습니다. • MVCC(다중 버전 동시성 제어): 읽기 작업이 쓰기 작업을 방해하지 않도록 하여 높은 동시성을 제공합니다. 이를 통해 잠금 없이 일관된 읽..

[MySQL] VARCHAR vs TEXT 차이

구분VARCHARTEXT저장 크기최대 65,535 바이트 (InnoDB에서 row 크기 제한 주의!)최대 65,535 바이트 (Long Text는 더 큼)길이 지정길이 지정 필수 (ex. VARCHAR(255))길이 지정 불필요저장 위치테이블의 행 내부에 저장외부 저장 (행 내부엔 포인터만 저장)인덱스인덱스 가능, 효율적기본적으로 인덱싱 불가 (명시적으로 길이 제한해줘야 일부 가능)용도짧은 문자열 (이메일, 이름 등 고정/예상 가능한 크기)긴 텍스트 (설명, 블로그 본문, 코멘트 등)성능빠름 (바로 읽기 가능)상대적으로 느림 (포인터 따라가야 함)   📌 간단하게 말하면 • VARCHAR→ 길이 예측 가능하고, 자주 조회/검색/정렬할 데이터에 적합→ 예: 이름, 이메일, URL 등. • TEXT→ 길이..

[백준 #10845] 큐

https://www.acmicpc.net/problem/10845 문제정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력첫째 줄에 주어지는 명령의 수 ..

[JAVA] Scanner 대신 BufferedReader 사용하기

1. BufferedReader란?BufferedReader는 Java에서 입력을 빠르게 처리할 수 있도록 도와주는 클래스다.특히 Scanner보다 속도가 빠르기 때문에 알고리즘 문제 풀 때 자주 사용한다.   2. 왜 빠를까? • 버퍼(buffer)라는 공간을 이용해서 입력을 한 줄씩 읽어오고, 그걸 메모리 상에서 처리하기 때문. • Scanner는 입력받을 때마다 처리하지만, • BufferedReader는 미리 버퍼에 저장하고 한 번에 처리해서 더 빠름.   3. 사용법import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class Example { public static ..

JAVA 2025.03.24

[JAVA] next(), nextLine(), nextInt()의 차이점과 주의할 점

Scanner 주요 메서드 차이 총정리메서드설명입력 예시입력 처리 결과next()공백 전까지 한 단어 읽음"Hello World"Hello (공백 전까지 읽고, 나머지는 버퍼에 남음)nextLine()엔터까지 한 줄 전체 읽음"Hello World"Hello World (공백 포함, 엔터까지 모두 읽음)nextInt()정수 하나 읽음123123 숫자 저장, 엔터 안 먹음   1. next() • 공백(space), 탭, 엔터 기준으로 다음 단어까지만 읽음.Scanner sc = new Scanner(System.in);String s = sc.next();System.out.println(s);입력: Hello World출력: Hello → World는 입력 버퍼에 남아있음.   2. nextLine()..

JAVA 2025.03.24

[JAVA] 문자열 비교 총정리

1. == 연산자 (주소 비교)String a = "hello";String b = "hello";String c = new String("hello");System.out.println(a == b); // true (리터럴 풀에 저장된 동일한 주소)System.out.println(a == c); // false (new로 만든 건 다른 주소)  • ==은 ‘주소’가 같은지 비교→ 내용 같아도, 주소 다르면 false • 절대 문자열 내용 비교에 쓰지 말 것! (초보 실수 포인트)   2. .equals() (내용 비교)String a = "hello";String b = new String("hello");System.out.println(a.equals(b)); // true  • 문자열 내용이 ..

JAVA 2025.03.24

REST와 RESTful의 차이

REST와 RESTful의 차이REST와 RESTful, 두 용어가 혼용되어 사용되다 보니 헷갈릴 수 있는데요, 아주 쉽게 정리해보겠습니다. 용어의미REST아키텍처 스타일 (설계 원칙)  (REpresentational State Transfer)RESTfulREST 원칙을 잘 지켜서 구현한 서비스  즉, REST에 가깝게 만든 API 쉽게 말하면: • REST → “이렇게 만들면 좋아요!” 라고 정해놓은 설계 원칙 (약속, 철학) • RESTful → 그 원칙을 얼마나 잘 따랐느냐의 정도 (잘 지키면 RESTful하다)   비유로 이해하기 레스토랑(REST) → 레스토랑 규칙을 잘 지킨 레스토랑(RESTful) • 어떤 요리사가 “좋은 레스토랑은 손님에게 깔끔한 메뉴판 제공, 정해진 주문 방식, 빠른 ..

반응형