전체 글(189)
-
[JAVA] 오버로딩(Overloading)과 오버라이딩(Overriding)
1. 오버로딩( Overloading )1. 오버로딩이란 무엇인가요?정의: 메소드 이름이 같더라도 매개변수의 타입, 개수, 또는 순서가 다르면 서로 다른 메소드로 인식되는 기능특징:메소드 시그니처(메소드 이름 + 매개변수 타입과 개수)가 다르면 JVM은 별개의 메소드로 처리반환 타입은 메소드 시그니처에 포함되지 않음예시 코드:public class Main { public static void main(String[] args) { MyClass mc = new MyClass(); mc.print(1); // 정수형 : 1 mc.print(1, 10); // 정수형 : 1, 10 mc.print('X')..
2025.01.23 -
웹 인증의 이해: 쿠키, 세션, 토큰 그리고 JWT
1. 들어가며웹 인증이란 무엇인가?웹 인증은 사용자가 누구인지 식별하고, 그 사용자에게 적절한 접근 권한을 부여하는 과정을 의미한다.이 과정은 보안의 핵심으로, 사용자가 웹 애플리케이션에 로그인하거나 특정 리소스에 접근할 때 반드시 필요하다. 웹 인증의 기본 흐름1. 사용자가 자신의 정보를 입력하여 서버에 인증 요청을 보낸다.(ex: ID, 비밀번호)2. 서버는 이 정보를 확인하여 사용자가 신뢰할 수 있는 대상인지 판단한다.3. 인증이 완료되면, 서버는 이후 요청을 처리하기 위해 인증 상태를 유지하는 메커니즘을 제공한다. 여기서 인증 상태를 유지하는 다양한 방법으로 쿠키, 세션, 토큰이 사용된다.특히 JWT와 같은 토큰 기반 인증 방식이 주목을 받고 있다. 쿠키, 세션, 토큰, JWT를 다루는 이유웹 인..
2025.01.21 -
[백준/JAVA] 백트래킹 15649 N과 M(1)
나의 답) 틀림import java.io.*;import java.util.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseI..
2025.01.04 -
[알고리즘] 백트래킹(Backtracking)
1. 백트래킹(Backtracking)이란?백트래킹은 완전 탐색의 한 방법으로, 가능한 모든 경우를 탐색하지만, 불필요한 경로를 조기에 배제(가지치기, Pruning)하여 효율성을 높이는 알고리즘이다.기본 아이디어: 현재 상태에서 유망하지 않은 경로를 탐색하지 않고 이전 단계로 돌아가 다른 경로를 시도특징- DFS(깊이 우선 탐색)를 기반으로 함- 가지치기 기법을 활용해 탐색 공간을 줄임장단점- 장점 - 가능한 모든 해를 탐색하므로 정확한 해를 보장 - 문제의 구조를 단순화하여 구현 가능- 단점 - 상태 공간이 클 경우, 탐색 시간이 급격히 증가 - 가지치기가 적절하지 않으면 비효율적시간 복잡도- 시간 복잡도는 문제의 상태 공간 크기에 따라 결정되며, 최악의 경우 O(b ^ d) (b는 선..
2025.01.04 -
[백준/JAVA] 해시를 사용한 집합과 맵 10815 숫자 카드
나의 답) 904msimport java.io.*;import java.util.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(br.readLine()); HashSet set = new HashSet(); st = new StringTokeni..
2025.01.04 -
[백준/JAVA] 해시를 사용한 집합과 맵 1764 듣보잡
나의 답) 300msimport java.io.*;import java.util.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(st.nextToken()); int m = Integer.par..
2025.01.03