백준 알고리즘

백준 알고리즘/Lang-Python

[백준/python] 2493 탑

https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 사용언어 : python 알고리즘 : 자료 구조, 스택 Solved.ac Tier : Gold V python 코드 1. 문제 정리 이 문제는 시간이 1.5초이고 주어지는 탑의 개수가 50만개이기 때문에 시간 복잡도가 O(N^2)를 넘어서면 시간 초과가 발생 한다. 따라서 문제를 해결 할 때 탐색 하는 것을 빼야 했다. import collections import sys from collect..

백준 알고리즘/Lang-Python

[백준/python] 2504 괄호의 값

https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net 사용언어 : python 알고리즘 : 구현, 스택, 자료 구조 Solved.ac Tier : Silver I python 코드 1. 문제 정리 어렵지 않은 문제라고 생각하고 접근 했으나, 꽤나 해결 하는데 오래 걸린 문제이다. 사람 머리로 하면 쉬운데... 구현 하려니 머리가 너무 복잡해졌다. 어느 부분에서 곱셈을 하고, 덧셈을 해야 할지 생각 해야 하는 문제였는데, 아이패드로 몇 번 그려보..

백준 알고리즘/Lang-Python

[백준/python] 1935 후위 표기식2

https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 사용언어 : python 알고리즘 : 자료구조, 스택 Solved.ac Tier : Silver IV python 코드 1. 문제 정리 후위 표기식, 전위 표기식은 전공자가 아니라면 듣기 어려운 식들이다. 후위 표기식은 컴퓨터가 사용하는 연산 방법으로, 왼쪽에서 오른쪽으로 표기된 순서대로 처리하면 결과가 올바르게 나오는 후위 표기법을 사용한다. 스택을 사용하여 원래의 중위 표기식으로 변..

백준 알고리즘/Lang-Python

[백준/python] 10866 덱

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로 알고리즘을 하다가 다시 파이..

백준 알고리즘/Lang-Python

[백준/python] 11653 소인수분해

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까지..

백준 알고리즘/Lang-Python

[백준/python] 5355 화산수학

https://www.acmicpc.net/problem/5355 5355번: 화성 수학 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산 www.acmicpc.net 사용언어 : python 알고리즘 : 수학, 구현 ,사칙연산 Solved.ac Tier : Bronze II 간단하게 파이썬 적응을 위해 풀어 본 문제이다. python 코드 1. 문제 정리 입력을 받을 줄 안다면 쉽게 해결 가능한 문제이다. 값들을 받아 문제에서 준 대로 계산 하면 된다. 마지막 출력에 format을 사용하여 소수점 둘째자리까지 강제로 출력하도록 만들었다. ..

백준 알고리즘/Lang-node.js

[백준/node.js] 1158 요세푸스 문제

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..

백준 알고리즘/Lang-node.js

[백준/node.js] 4949 균형잡힌 세상

https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 사용언어 : node.js 알고리즘 : 자료구조, 문자열, 스택 Solved.ac Tier : Silver IV node.js 코드 1. 문제 정리 스택의 기본 문제인 괄호 문제이다. 문제가 굉장히 간단하다. 각 괄호의 짝이 맞으면 yes를 출력 아니면 no를 출력하면 된다. 왼쪽 괄호만 나올 때, 오른쪽 괄호만 나올 때 같은 예외 처리를 신경 써서 코드를 짜면 해결할 수 있..

Jongung
'백준 알고리즘' 카테고리의 글 목록