본문 바로가기

전체 글337

[백준 11399/c++] ATM 총 시간이 최소일때의 시간이 되려면 앞에는 작은 수를, 뒤로 갈수록 큰수를 두어 오름차순 정렬시키면 된다 주어진 시간들을 배열이나 벡터에 넣고(배열이 더 빠르다) sort 로 오름차순 정렬 후 for 문으로 개수를 추가해 돌면서 누적 합을 구해주면 되는 문제였다 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net #include using namespace std; int main(){ int n; int num; int sum = 0; int ar[1004]; cin >> n.. 2022. 7. 29.
[백준 1436/c++] 영화감독 숌 원하는 번째일때의 수이니 번째를 cnt 카운트해서 입력한 n 과 같을때까지 내부의 수 ans를 ++ 하고 ans를 temp로 복사하여 temp의 %1000 일때의 값(1000으로 나눴을때의 나머지)가 666이면 cnt를 ++ 아닐 경우에도 마지막 자리수에 666이 아니라 중간자리수에 666이 있을 수 있으므로 10으로 나누어 한자리씩 내려당겨준어 그걸 다시 666이 있나 비교하여 있으면 cnt++ 없으면 10으로 나누는것을 반복, temp가 나누다가 0이되면 반복 탈출하여 cnt ==n 될때까지 ans 값을 올려주면 되는 문제이다 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이.. 2022. 7. 28.
[백준 5555/c++] 반지 문자열의 특성상 이어붙였을때 특정 문자열이 속해있는지를 확인하려면 그 문자열을 같은 걸로 2번 붙여주면 된다 https://www.acmicpc.net/problem/5555 5555번: 반지 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 www.acmicpc.net #include using namespace std; int main(){ int num; int cnt = 0; string ori; string s; cin >> ori; cin >> num; for (int i = 0; i > s; s += s; if (s.fi.. 2022. 7. 27.
싱글 스레드, 콜백 함수, 비동기 처리 자바스크립트는 싱글 스레드를 가지는 언어이다 따라서 앞의 작업이 막히면 뒤의 작업도 다 막혀서 실행이 되지 않는다 싱글스레드는 그렇구나... 에서 나아가서 왜 싱글스레드는 그렇게 선형적이고 멈출까? 이유는 자바스크립트 call stack 콜스택 만을 가지고 있기 때문이다 LIFO 인 스택의 성질 때문에 앞에서 막혀버리면 막힌 아래 부분이 그대로 실행을 못하게 되는 것이다 그래서 싱글 스레드인 자바스크립트는 작업이 막히면 다음 작업이 실행되지 않는다 하.지.만! 자바스크립트에는 비동기 처리라는 것이 있는데 선형적인 작업에서 벗어나서 다른 일을 시키고 일단 작업을 진행하고 후에 그 결과 값을 받아서 사용가능하다 이것이 비동기적 함수에는 setTimeout 과 제이쿼리의 ajax 가 있다 이 중 setTime.. 2022. 7. 27.