분류 전체보기 216

[108일차] 숨바꼭질 6 - 백준 - 17087(python - 수학, 정수론, 유클리드 호제)

문제 설명 수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이동할 수 있다. 수빈이의 위치가 동생이 있는 위치와 같으면, 동생을 찾았다고 한다. 모든 동생을 찾기위해 D의 값을 정하려고 한다. 가능한 D의 최댓값을 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 105)과 S(1 ≤ S ≤ 109)가 주어진다. 둘째 줄에 동생의 위치 Ai(1 ≤ Ai ≤ 109)가 주어진다. 동생의 위치는 모두 다르며, 수빈이의 위치와 같지 않다. 출력 가능한 D값의 최댓값을 출력한다. 예제 입력, 예제 출력 3 3 1 7 11 2 3 81 33 105 5..

[107일차] 바구니 뒤집기 - 백준 - 10811(python - 구현, 시뮬레이션)

문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 역순으로 만들려고 한다. 도현이는 한 번 순서를 역순으로 바꿀 때, 순서를 역순으로 만들 범위를 정하고, 그 범위에 들어있는 바구니의 순서를 역순으로 만든다. 바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)..

[106일차] 공 바꾸기 - 백준 - 10813(python - 구현, 시뮬레이션)

문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다. 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다. 각 방법은 두 정수 i j로 이루어져 있으며, i번 바구니와 j번 바구니에 들어있는 공을 교환한다..

[105일차] 공 넣기 - 백준 - 10810(python - 구현, 시뮬레이션)

문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다. 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤..

[이론 공부] 질문 답 적어보기.

1. 프로세스와 쓰레드 프로세스는 운영체제로 부터 할당받은 자원의 단위이고, 쓰레드는 프로세스가 할당받은 자원을 이용하는 실행의 흐름단위. 프로그램들이 무거워지고 복잡해짐에 따라 단일 프로세스로 처리가 어려워지면서 처음엔 프로세스를 늘려보려는 노력을 하였으나, 운영체제 시스템 안정상의 문제로 프로세스끼리 자원을 공유하는 것이 제한적이다보니, 프로세스 안에 쓰레드를 구성하는 방식으로 발전. 쓰레드는 자원의 공유가 용이함. 2. Callback, Promise, Async Await 콜백은 한마디로 정의하자면 함수에 파라미터로 들어가는 함수이다. 뭔가 작업을 순차적으로 실행하고 싶을 때 사용한다. function test(a){ a(); }; function test1(){ } test(test1) 위에 코..

[부하테스트도구] k6, wrk

1. k6 Grafana 엔지니어링 팀이 성능 테스트를 쉽고 생산적으로 수행할 수 있게 해주는 오픈소스를 만들었음. k6 무료!!! k6 사용자는 일반적으로 개발자, QA 엔지니어, SDET 및 SRE입니다. 그들은 API, 마이크로서비스, 웹사이트의 성능과 안정성을 테스트하기 위해 k6를 사용합니다. 일반적인 k6 사용 사례는 다음과 같습니다. 부하 테스트 k6은 최소한의 리소스 소비에 최적화되어 있으며 고부하 테스트( 스파이크 , 스트레스 , 흡수 테스트 )를 실행하도록 설계되었습니다. 브라우저 테스트 k6 브라우저를 통해 브라우저 기반 성능 테스트를 실행하고 프로토콜 수준에서 완전히 건너뛸 수 있는 브라우저에만 관련된 문제를 포착할 수 있습니다. 혼돈 및 탄력성 테스트 k6을 사용하여 카오스 실험의..

[질문 요약] 공부하자... 질문 다시 정리...

1. Kafka 구조 https://www.youtube.com/watch?v=0Ssx7jJJADI 2. http 2.0, http 3.0 차이점 https://http3-explained.haxx.se/ko/h3/h3-h2 HTTP/3과 HTTP/2의 비교 - HTTP/3 explained QUIC의 0-RTT 핸드쉐이크 덕에 HTTP/3에서는 이른 데이터 지원이 더 낫게 잘 동작한다. TCP Fast Open과 TLS는 더 적은 데이터를 보내지만, 종종 문제점에 직면한다. http3-explained.haxx.se https://velog.io/@kcwthing1210/HTTP-1.1-vs-HTTP-2.0-vs-HTTP-3.0 HTTP 1.1 vs HTTP 2.0 vs HTTP 3.0 HTTP 1.1..

[면접 보고 난 후...]1차 면접...

면접 준비를 열심히 했는 데... 어떻게... CSR , SSR을 모른다고 대답할 수 있지... 라는 자괴감에 빠져버렸다... 말 그대로 CSR은Client Side Rendering이고, SSR 은 Server Side Rendering인데 클라이언트에서 렌더링을 하는 방식이냐, 아니면 서버에서 랜더링을 하는 방식이냐인데 이걸 모른다고 대답을 하다니 진짜.... 너무 많은 실수와 너무 많은 동문서답을 해버렸다... 정말... 후 멘탈이 부셔진다 하하하하 더 공부해서 완벽하게 대답이 나올 수 있도록 노력해야겠다... 알고리즘, 이론, 코드 등등 많은 준비를 계속 해야할 것 같다...

잡담 2023.12.27

[103일차] 대소문자 바꾸기 - 백준 - 2744(python - 문자열)

문제 설명 영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력 첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다. 예제 입력, 예제 출력 WrongAnswer wRONGaNSWER 코드 및 설명 s = input() answer = "" for char in s: if ord(char) >= 97: answer += char.upper() else: answer += char.lower() print(answer) 이 문제는 소문자를 대문자로, 대문자를 소문자로 바꾸는 간단한 문..