분류 전체보기 291

[백준 | Java Silver V] (#1193) 분수찾기

문제https://www.acmicpc.net/problem/1193접근//(k * (k+1)) / 2 = n// k*(k+1) = 2n// k^2 + k = 2n//1+2 = 3//1+2+3 = 6//1+2+3+4 = 10 등차수열 공식을 통해서 먼저 몇 번째 행, 몇 번째 칸인지 알아낸 후, 짝수/홀수 번째 행의 특징을 이용해서 구하면 됐던 문제이다.  최종 코드package week12.baek.july26;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class S1193 { public static void main(String[] args) throws IOExc..

[백준 | Java Silver IV] (#1158) 요세푸스 문제

문제https://www.acmicpc.net/problem/1158접근ArrayList와 LinkedList는 거의 비슷하지만 ArrayList는 배열, LinkedList는 연결 리스트와 같은 개념으로 ArrayList는 삽입/삭제는 인덱스를 모두 이동해줘야해서 오래 걸리지만, 조회가 빠르다는 장점이 있다. 반면에 LinkedList는 삽입/삭제는 빠르지만, 조회가 상대적으로 오래걸린다.  따라서 이 문제에서는 삭제를 계속해서 해줘야 하기 때문에 LinkedList를 선택해서 순열을 담아줬다.  LinkedList에 담아둔 후, p를 둬서 인덱스를 k-1만큼 계속 옮겨주면서 삭제를 진행했다.    첫번째 코드 - 성공package week12.baek.july26.baek;import java.io...

[백준 | Java Silver V] (#1475) 방 번호

문제https://www.acmicpc.net/problem/1475접근  0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.) 0~9까지 숫자 세트가 있고, 6,9는 뒤집어서 이용할 수 있다. 즉, 같은 거로 간주하면 된다.0~9까지의 숫자 개수를 Map 형태로 저장하고, 6과 9는 같은 거로 간주해서 반으로 나눠주어서 총 개수 중 가장 큰 것을 출력하면 된다.  최종 코드package week12.baek.july26.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.In..

[백준 | Java Silver II] (#13702) 이상한 술집

문제https://www.acmicpc.net/problem/13702접근low 는 1, high는 주전자의 가장 큰 용량으로 초기화를 한 후 이분탐색을 진행한다.  또, long 타입을 써줬어야 했던 문제!  최종 코드package week12.baek.july23;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class S13702 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..

[백준 | Java Silver IV] (#10816) 숫자 카드 2

문제https://www.acmicpc.net/problem/10816접근https://xoxoxoxox.tistory.com/314  [백준 | Java Silver IV] (#1920) 수 찾기문제https://www.acmicpc.net/problem/1920접근ArrayList를 사용하면 시간 초과가 뜨고, HashSet을 이용해서 빠르게 탐색해야 통과 됐던 문제이다.   첫번째 제출 - ArrayList 사용, 시간 초과package week12.baek.july23.xoxoxoxox.tistory.com위 문제와 매우 유사했다! 대신 다른 것은 가지고 있는 개수를 반환해야 했던 것 따라서 개수를 저장하기 위해 HashMap를 사용해서 풀었다. 시간 초과의 문제가 있었지만, BufferedWri..

[백준 | Java Silver IV] (#2417) 정수 제곱근

문제https://www.acmicpc.net/problem/2417접근Math.sqrt()를 사용하면 쉽게 구할 수 있었던 문제이다.  이분탐색으로도 푸는 방법이 있다.  최종코드 1 - Math.sqrt() 사용package week12.baek.july23;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class S2417 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in..

[백준 | Java Silver IV] (#1072) 게임

문제https://www.acmicpc.net/problem/1072 접근처음에는 아래와 같이 count 변수를 두어서 하나씩 늘려가면서 찾으려고 했다.int count = 0;long newZ = Z;while(newZ == Z){ X++; Y++; count++; newZ = (int) ((double) Y/X * 100);}System.out.println(count); 하지만 이렇게 하면 틀렸고, X의 범위가 1부터 1,000,000,000 이기 때문에 최악의 경우는 10억의 승리 횟수까지 반복해야하기 때문에 시간 단축을 위해 이분 탐색을 통해 풀었어야 했던 문제이다. 따라서 1부터 10억까지 이분탐색으로 빠르게 찾아내면 된다.  (근데 주어지는 X 입력이 10억까지 가능한거고.. 10..

[백준 | Java Silver IV] (#1920) 수 찾기

문제https://www.acmicpc.net/problem/1920접근ArrayList를 사용하면 시간 초과가 뜨고, HashSet을 이용해서 빠르게 탐색해야 통과 됐던 문제이다.   첫번째 제출 - ArrayList 사용, 시간 초과package week12.baek.july23.baek;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import java.util.StringTokenizer;public class S1920 { public static void main(String[] args)..

[네트워크] Cookie & Session

📍 HTTP 프로토콜의 특징  Connectionless; 비연결성 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징  클라이언트와 서버가 연결을 끊기 때문에, 불필요한 연결을 유지하지 않아 서버의 자원을 절약할 수 있다. 따라서 HTTP 프로토콜이 간단하고 효율적이라는 장점이 있다.    Stateless; 무상태성 클라이언트와 서버가 통신을 할 때, 이전 통신의 상태를 유지하지 않는 것 무상태성은 HTTP 프로토콜이 확장 가능하고 유연하다는 장점이 있다. 클라이언트와 서버가 상태를 유지하지 않기 때문에, 서버는 클라이언트의 요청을 처리하기 위해 필요한 모든 정보를 요청마다 다시 받아야 한다. 따라서, 클라이언트가 요청하는 서비스가 변경되더라도, 서버는 별도의 변경 없이 요청을 처..