분류 전체보기 291

[백준 | Java Bronze I ] (#11557) Yangjojang of The Year

문제https://www.acmicpc.net/problem/11557 접근String과 Integer를 모두 저장해야 해서 어떤 자료구조로 저장을 할 지 생각했었다.String 배열로 학교 이름을, Integer 2차원 배열로 [인덱스, 술] 로 저장해서 1번째 인덱스를 기준으로 정렬을 하면 쉽게 구할 수 있었다.  최종 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.lang.reflect.Array;import java.util.*;public class Main { public static void main(String[] args) throws IOExc..

[운영체제] 동기화(Process Synchronization)

동기화(Process Synchronization)배경💡Producer-Consumer 문제 (Race Condition)count = 0 이라는 변수가 있을 때, producer는 count++을 시키고, consumer은 count--를 시킨다고 하자. 두 사람은 공유하는 data를 동시에 변경하려고 하니까 엉뚱한 결과가 나올 수 있다. 두 명의 사람이 칠판에 그림을 그리고 있다고 할 때 순서가 있게 해야지 동시에 그림을 그리려고 하면 칠판은 엉망이 될 것이다.  둘 다 공유하는 data를 읽기만 하면서 두 프로세스가 실행되면 문제가 되지 않는다. 하지만 동시에 변경하려고 할 때 이 문제가 발생한다.  우리는 멀티 스레드 환경을 보통 사용하므로 프로세스 동기화를 잘 시켜주어야 한다.  ☝️Criti..

[백준 | Java Bronze III ] (#19532) 수학은 비대면강의입니다

문제https://www.acmicpc.net/problem/19532첫번째 코드  - 실패 (Runtime error: division by zero)일반적으로 2차 방정식을 푸는 방식으로 접근해서 풀었다. 예시 테스트 코드들은 잘 돌아가지만 채점을 하면 division by 0 라는 런타임 에러가 뜬다. 계수가 0인 경우에 잘못 된 것 같다. package week10.baek.july9;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class B19532 { public static void main(Strin..

[운영체제] 가상 메모리와 페이징 교체 알고리즘

Virtual Memory PCB, Context Switch 등등의 메모리 관리 기법에서는 메인 메모리에 프로그램이 전체적으로 load 되는 것을 전제로 한다. 하지만 사실은 부분적으로 load 되어도 프로세스로 실행이 된다는 것!  고급 자원인 CPU 이용률을 올리기 위해서는 많은 프로그램을 Main Memory에 올리는 것이 중요하다.  가상 메모리의 장점CPU 이용률과 처리량을 향상 시킴loading과 swapping하는 I/O 시간을 줄임모든 프로그램이 모두 load/swap 될 필요 없으니까! Response time 또한 줄일 수 있음 프로그램 A,B,C가 있다고 할 때 일부만 올린다. 3개의 프로그램이 모두 다 올라왔다고 생각하겠지 아니다. 그래서 가상 메모리라고 부른다. Demand Pa..

[백준 | Java Silver V] (#10826) 피보나치 수 4

문제https://www.acmicpc.net/problem/10826접근일반적인 피보나치 방법을 사용하면 틀린다. 입력값이 너무 크게 주어지는 탓이다. (long 자료형으로도 커버되지 않음) BigInteger와 DP를 사용해야 했던 문제!! BigInteger 사용법 BigInteger 선언 보통 문자열을 인자 값으로 넘겨서 선언한다. BigInteger[] dp = new BigInteger[10001]; dp[0] = new BigInteger("0"); dp[1] = new BigInteger("1"); BigInteger 사칙 연산BigInteger bi1 = new BigInteger("1");BigInteger bi2 = new B..

[백준 | Java Silver IV] (#1269) 대칭 차집합

문제https://www.acmicpc.net/problem/1269첫번째 제출 - 실패 (시간 초과)가장 먼저 머릿속에 들었던 직관적인 방법으로 풀었더니 시간 초과..package week9.baek.july7;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.Set;public class S1269 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStre..

[백준 | Java Bronze III] (#1009) 분산처리

문제https://www.acmicpc.net/problem/1009  첫번째 코드 - 실패 Math.pow(a,b)를 사용해서 정말 단순하게 a^b를 구한 뒤 %10으로 나머지 연산(모듈로 연산) 을 진행하려고 했지만 실패package week9.baek.july7;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B1009 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System..

[백준 | Java Bronze II] (#3062) 수 뒤집기

문제https://www.acmicpc.net/problem/3062접근원래 수 + 뒤집은 수를 구한 뒤, 0번 인덱스와 length-1인덱스, 1번 인덱스와 length-1 -1 인덱스, .. 를 비교해서 중간까지 갔을때까지 같다면 좌우 대칭이므로 YES를 출력하도록 했다.  최종 코드package week9.baek.july7;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B3062 { public static void main(String[] args) throws IOException { BufferedReader br = new Buffere..

[Error] Docker Mysql 접속 에러 - Access denied for user 'root'@'localhost' (using password: YES)

Docker로 Mysql 이미지를 내려받아서 프로젝트 DB로 사용 중이었는 데, docker hub를 껐다가 재실행할 때마다 아래와 같은 Workbench 접속 에러가 나서 정리한다.    Docker Error   (HTTP code 500) server error - Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.  해결 방법 1. cmd를 관리자 권한으로 실행  taskkill을 해줘야하기 때문에 관리자 ..