
양팔 저울과 몇 개의 추가 주어졌을 때, 이를 이용하여 입력으로 주어진 구슬의 무게를 확인할 수 있는지를 결정하려고 한다.무게가 각각 1g과 4g인 두 개의 추가 있을 경우, 주어진 구슬과 1g 추 하나를 양팔 저울의 양쪽에 각각 올려놓아 수평을 이루면 구슬의 무게는 1g이다. 또 다른 구슬이 4g인지를 확인하려면 1g 추 대신 4g 추를 올려놓으면 된다.구슬이 3g인 경우 아래 과 같이 구슬과 추를 올려놓으면 양팔 저울이 수평을 이루게 된다. 따라서 각각 1g과 4g인 추가 하나씩 있을 경우 주어진 구슬이 3g인지도 확인해 볼 수 있다. 구슬이 3g인지 확인하는 방법 1은 1g인 추, 4는 4g인 추, ●은 무게를 확인할 구슬) 와 같은 방법을 사용하면 구슬이 5g인지도 확인할 수 있다. 구슬이 2g..

문제세계적인 호텔인 형택 호텔의 사장인 김형택은 이번에 수입을 조금 늘리기 위해서 홍보를 하려고 한다.형택이가 홍보를 할 수 있는 도시가 주어지고, 각 도시별로 홍보하는데 드는 비용과, 그 때 몇 명의 호텔 고객이 늘어나는지에 대한 정보가 있다.예를 들어, “어떤 도시에서 9원을 들여서 홍보하면 3명의 고객이 늘어난다.”와 같은 정보이다. 이때, 이러한 정보에 나타난 돈에 정수배 만큼을 투자할 수 있다. 즉, 9원을 들여서 3명의 고객, 18원을 들여서 6명의 고객, 27원을 들여서 9명의 고객을 늘어나게 할 수 있지만, 3원을 들여서 홍보해서 1명의 고객, 12원을 들여서 4명의 고객을 늘어나게 할 수는 없다.각 도시에는 무한 명의 잠재적인 고객이 있다. 이때, 호텔의 고객을 적어도 C명 늘이기 위해 ..
요약 다음 3가지 기능에 따라 최종 시간을 구하기10초 전 이동: prev 명령어 10초 후 이동: next 명령어오프닝 건너뛰기: 현재 위치가 오프닝 구간이면 오프닝 마지막 시간대로 이동 1차에 틀린 이유, 기능 로직 순서prev, next 로직 이후에 오프닝 구간인지 검사했다. 하지만 시작 시간을 포함해서 오프닝 구간인지 검사했어야 했다. 문제(요구사항)를 꼼꼼히 읽어보고 기능의 서로 영향에 대해 고민해야 하는 걸 간접적으로 느낀 문제였다.3가지 기능의 순서에 깊이 생각안하고 각 기능 구현만 보고 구현함 각 기능이 독립적이다 아니다 뿐만 아니라 순서가 존재함package simulation;/* 테케가 아니었으면 틀렸을 문제 예제에서 틀려서 로직 순서의 이상확인 시뮬레이션 -> 로직 ..

프로젝트에서 동시성 이슈를 다루면서 Transactional Serializable이 안되는지 이해가 되지 않았다.isolation level이 가장 높기 때문에 당연히 동시성 이슈가 해결될 것이라 생각했다.하지만 비관적락에서만 동시성 이슈가 발생하지 않았다.그래서 구체적인 동작방식을 이해하고자 정리했다.프로젝트 동시성 이슈 발생상황예약 프로젝트이 특성 사 예약 요청 트래픽이 몰리는 상황을 테스트100개의 스레드로 동시에 예약 요청하여 데이터를 생성int threadCount = 100;ExecutorService executorService = Executors.newFixedThreadPool(32);List list = new ArrayList();for (int i = 1; i list1 = n..

mysql 에서도 I/O 연산을 줄이기 위한 Buffer Pool을 이용해 속도차이를 개선했다는 것이 신기하다.Redis 도 in-memory 기반의 cache 서버로 DB 부하를 줄일다는 것이 기억났다.기술발전에 따라 다양한 방법으로 속도 개선이 이루어지는 것을 알 수 있다. 또한 생각해볼 점은 Buffer Pool 이 메모리를 사용한다는 점이다. 만약 Buffer Pool보다 큰 작업을 수행하게 되면 이점없이 I/O 작업이 늘어나게 될 것이다. Buffer Pool 사이즈를 변경하거나, 쿼리문, index 또는 unique 작업 등을 수정해봐야 겠다는 생각이 들었다. MySQL크게 MySQL 엔진과 Storage 엔진으로 구분MySQL 엔진요청 쿼리에 대해 어떻게 실행할지 결정하는 역할InnoDB특..

Blocking vs Non-Blocking다른 주체가 작업할 자신의 제어권이 있는지 없는지로 볼 수 있다. Blocking다른 작업(함수) 호출 후 처리가 완료될 때까지 대기 후 자신의 작업 수행Non-Blocking다른 작업(함수) 호출 후 응답을 기다리지 않고 자신의 작업 수행필요에 따라 호출한 함수의 리턴값을 처리하는 콜백함수 존재Synchronous vs Asynchronous결과를 돌려주었을 때 순서와 결과에 관심이 있는지 아닌지로 판단 Synchronous, 동기작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함을 의미작업 완료를 user space에서 판단하고 다음 작업을 언제 요청할지 결정하게 됩니다.모든 I/O 요청-응답 작업이 일련의 순서를 따릅니다. 즉, 작업의 순서가..
https://www.acmicpc.net/problem/17951문제넓은 시험 범위와 어려운 과제로 유명한 '운영체제로 보는 데이터베이스시스템 알고리즘' 수업은 시험지가 너무 많아 실내에서는 시험을 치를 수 없어서 야외에서 시험을 진행한다. 해당 수업의 수강생인 현수는 오랜 시간에 걸쳐 풀 수 있는 모든 문제를 풀었고 제출만을 남겨두고 있었다. 그러나 갑자기 불어오는 강풍에 현수의 시험지가 모두 날아가 버렸고, 날아간 시험지를 줍는 동안 남은 시간을 다 써버리고 말았다.시험지에 명시된 규칙 중에는 채점하는 조교의 편의를 위해 시험지를 반드시 순서대로 제출하라는 규칙이 있는데, 이 규칙 때문에 현수는 힘들게 치른 시험이 0점 처리될 위기에 빠지게 되었다!그러나, 마음씨 좋은 조교인 주찬이는 평소 수업에 ..
문제0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오.덧셈의 순서가 바뀐 경우는 다른 경우로 센다(1+2와 2+1은 서로 다른 경우). 또한 한 개의 수를 여러 번 쓸 수도 있다.입력첫째 줄에 두 정수 N(1 ≤ N ≤ 200), K(1 ≤ K ≤ 200)가 주어진다.출력첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. https://keepgoing0328.tistory.com/entry/DP%EB%B0%B1%EC%A4%80-2293-%EB%8F%99%EC%A0%84-1 [DP][백준 2293] 동전 1문제 https://www.acmicpc.net/problem/2293 문제n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다..
- Total
- Today
- Yesterday
- 가장 큰 정사각형 찾기
- java
- 큰 수 만들기
- 2019 카카오 공채
- programmers
- 투포인터
- 정수 내림차순으로 배치하기
- 카카오2020 공채
- 찾아라 프로그래밍 마에스터
- 카카오 2020 공채
- 짝지어 제거하기
- 17825
- 괄호 변환
- 라면공장
- 2018 카카오 공채
- 124 나라의 숫자
- 주사위 윷놀이
- 자바
- 백준
- 오블완
- 3954
- 후보키
- DP
- 티스토리챌린지
- Brainf**k 인터프리터
- 프로그래머스
- 17779
- 게리맨더링 2
- 단체사진 찍기
- 문자열을 정수로 바꾸기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |