https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 사용언어 : python 알고리즘 : 자료 구조, 덱 Solved.ac Tier : Silver IV python 코드 1. 문제 정리 1년전 c로 풀어봤던 문제를 다시 파이썬으로 풀어보았다. 파이썬엔 말도안되는 deque가 있기 때문에 굉장히 문제가 쉽다. js로 할 때엔 링크드리스트로 구현 해야 하고 고려 해야 할 것이 2배 이상으로 늘어나서 js로 알고리즘을 하다가 다시 파이..
https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 사용언어 : python 알고리즘 : 수학, 정수론, 소수판정 Solved.ac Tier : Bronze I python 코드 1. 문제 정리 간단하게 에라스토테네스의 체 알고리즘을 활용하여 풀면 되는 문제이다. 소수 찾기 알고리즘을 사용하면 간단하게 해결할 수 있는 문제이다. 나는 soinsoo라는 함수를 재귀를 활용하여 해결 하였다. def soinsoo(k): for i in range(2, k): if k % i == 0: ans.append(i) soinsoo(int(k / i)) return 2부터 k까지..
https://www.acmicpc.net/problem/5355 5355번: 화성 수학 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산 www.acmicpc.net 사용언어 : python 알고리즘 : 수학, 구현 ,사칙연산 Solved.ac Tier : Bronze II 간단하게 파이썬 적응을 위해 풀어 본 문제이다. python 코드 1. 문제 정리 입력을 받을 줄 안다면 쉽게 해결 가능한 문제이다. 값들을 받아 문제에서 준 대로 계산 하면 된다. 마지막 출력에 format을 사용하여 소수점 둘째자리까지 강제로 출력하도록 만들었다. ..
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 사용언어 : node.js 알고리즘 : 자료구조, 큐 Solved.ac Tier : Silver IV node.js 코드 1. 문제 정리 선입 선출 방식의 큐를 사용하면 쉽게 해결 할 수 있는 문제이다. 반복문을 사용하여 계속 돌면서 shift로 맨 앞의 값을 뺀 뒤, 반복 횟수가 K의 배수인 경우엔 값을 다시 넣지 않고 아닌 경우엔 그냥 값을 넣는 방식으로 큐를 사용하여 문제를 해결 하였다. 2. 완성 코드 const filePath = process.platform === "linux..
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 사용언어 : node.js 알고리즘 : 자료구조, 큐 Solved.ac Tier : Silver IV node.js 코드 1. 문제 정리 기존에 우리가 쉽게 아는 큐와 같은 문제이다. 이미 C#과 C로 풀어 본 적 있는 문제이지만, 주 언어가 된 JS엔 자료구조가 없기 때문에 직접 구현해야 한다. 따라서 앞으로 상위 문제를 풀 때 필요한 자료구조인 스택, 큐, 덱 같은 기초부터 시..
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 사용언어 : node.js 알고리즘 : 자료구조, 스택 Solved.ac Tier : Siver IV 소마 준비를 위해 알고리즘 공부를 시작하려 한다. 기초 자료구조부터 탄탄하게 다져갈 생각이다. node.js 코드 1. 문제 정리 기존에 우리가 쉽게 아는 스택과 같은 문제이다. 이미 C#과 C로 풀어 본 적 있는 문제이지만, 주 언어가 된 JS엔 자료구조가 없기 때문에 직접 구..
https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 사용언어 : node.js 알고리즘 : 문자열, 정렬 Solved.ac Tier : Siver IV node.js 코드 1. 문제 정리 접미사 배열 문제를 접근할 때 뒤에서 부터 하나하나 자른 문자들을 배열에 넣고, 배열에 있는 값들을 JS 내장함수인 sort를 이용하여 간단하게 해결한 문제이다. 2. 완성 코드 const filePath = process.platform === 'linux' ? '/dev/stdin' : 'ans.txt'; const input = requ..
https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 사용언어 : node.js 알고리즘 : 정렬 Solved.ac Tier : Silver V node.js 코드 1. 문제 정리 2줄의 입력을 받는다. 첫 번째 줄은 정수 N, 두 번째 줄은 N개의 정수들이 주어진다. 말 그대로 중복 빼고 정렬하면 된다. 값이 1 2 3 2 3 1로 들어온다면 중복된 수를 빼고 오름차순으로, 1 2 3 출력해주면 되는 문제이다. 이 문제는 정렬이 중요한 것이 아니라, 개수를 10만개까지 주는데 ..