본문 바로가기

전체 글

(88)
[C/C++] 코드업(codeup) 4654번 탑 ▽문제 바로가기https://codeup.kr/problem.php?id=4654탑문제 4) 탑 (초등 4) KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사codeup.kr입력첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나..
[C/C++] 코드업(codeup) 4624번 괄호의 값 ▽문제 바로가기 https://codeup.kr/problem.php?id=4624 괄호의 값 첫 째 줄에 괄호열을 나타내는 문자열(스트링)이 주어진다. 단 그 길이는 1 이상, 30 이하이다. codeup.kr 입력 첫 째 줄에 괄호열을 나타내는 문자열(스트링)이 주어진다. 단 그 길이는 1 이상, 30 이하이다. 출력 첫째 줄에 그 괄호열의 값을 나타내는 정수를 출력한다. 만일 입력이 올바르지 못한 괄호열이면 반드시 0을 출력해야 한다. 문제 풀이 올바른 괄호 인지도 판단해야 하고 값도 구해야 하는 문제입니다. 괄호가 올바른지에 대한 여부는 기존에 '올바른 괄호 2'와 비슷합니다. 열린 괄호는 push, 닫힌괄호는 pop 하여 top값이 최솟값보다 작다면 잘못된 괄호입니다. 또한 스택에 남아있는 값이..
[C/C++] 코드업(codeup) 3130번 소들의 헤어스타일 ▽문제 바로가기 https://codeup.kr/problem.php?id=3130 소들의 헤어스타일 첫번째 줄에 소의 수 N이 입력된다.(1
[C/C++] 코드업(codeup) 3129번 올바른 괄호 2 ▽문제 바로가기 https://codeup.kr/problem.php?id=3129 올바른 괄호 2 올바른 괄호 문자열이면 "good", 올바른 괄호 문자열이 아니면 "bad"를 출력하시오. codeup.kr 입력 '('와 ')'로 이루어딘 괄호 문자열이 입력된다.(50,000글자 이하) 출력 올바른 괄호 문자열이면 "good", 올바른 괄호 문자열이 아니면 "bad"를 출력하시오. 문제 풀이 괄호가 틀릴 경우는 두 가지입니다. 1. 닫힌 괄호가 먼저 나온 경우 2. 열림 괄호가 많이 나온 경우 스택으로 구현하면서 풀 수 있습니다. 실제 스택처럼 구현할 필요는 없고 top값을 참고하여 풀었습니다. 열림 괄호는 top증가, 닫힘 괄호는 top감소를 하였습니다. 더 이상 스택이 없는 상태에서 pop이 일어나..
[C/C++] 코드업(codeup) 3127번 수식 계산 1 ▽문제 바로가기 https://codeup.kr/problem.php?id=3127 수식 계산 1 우리가 일상 생활에서 사용하는 수학식은 대부분 중위 표기법이다. 중위 표기법은 어떠한 이항 연산에 대해 연산 대상 사이에 연산자를 표기하는 방식이다. 예를 들면 $ 3 + 5 * 7 $ $ (6 + 9) * 8 $ 등이 있다. 하지만 이런 중위 표기법은 연산자 우선 순위에 따라 괄호를 해야 한다는 단점이 있다. 이에 반해 후위 표기법은 두 피연산자를 먼저 쓰고 그 뒤에 연산자를 표기하는 방식이다. 위의 중위 표현을 예로 들면 $ 3$ $5$ $7$ $* codeup.kr 입력 후위 표기법으로 된 식이 입력된다. 주어지는 식은 자연수와 덧셈, 뺄셈, 곱셈만으로 이루어져 있으며, 각 자연수와 연산자 사이는 띄어..
[C/C++] 코드업(codeup) 3102번 STL stack ▽문제 바로가기 https://codeup.kr/problem.php?id=3102 STL stack 명령어에 따라 동작결과를 순서대로 출력한다. push와 pop은 출력되는 결과가 없음에 유의한다. codeup.kr 입력 첫째줄에 N이 입력된다.(1
[C/C++] 코드업(codeup) 3022번 큰 수 뺄셈 ▽문제 바로가기 https://codeup.kr/problem.php?id=3022 큰 수 뺄셈 큰 수 a, b가 두 줄에 걸쳐 입력된다. (a, b는 100자리 이하) codeup.kr 입력 큰 수 a, b가 두 줄에 걸쳐 입력된다. (a, b는 100자리 이하) 출력 a-b의 결과를 출력한다. 문제 풀이 큰 수 덧셈보다 생각해야 할 부분이 더 있습니다. 제가 구현했던 방법은 다음과 같습니다.(*코드가 많이 지저분합니다.) 1. a와 b의 길이를 파악하여 길이가 긴 값을 기준으로 맞추고 나머지 0으로 채웁니다. ex) a가 111이고 b가 1이면 a는 그대로 111, b는 001로 명시해줍니다. 2. 음수인지 판별 1차적으로 길이로 비교합니다. 길이가 같다면 처음수부터 마지막수까지 다를 때까지 비교합니..
[C/C++] 코드업(codeup) 4745번 부등호 ▽문제 바로가기 https://codeup.kr/problem.php?id=4745 부등호 문제 5) 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시된 부등호 순서열 A가 다음과 같다고 하자. A → 부등호 기호 앞뒤에 넣을 수 있는 숫자는 0부터 9까지의 정수이며 선택된 숫자는 모두 달라야 한다. 아래는 부등호 순서열 A를 만족시키는 한 예이다. 3 < 4 codeup.kr 입력 첫 줄에 부등호 문자의 개수를 나타내는 정수 k가 주어진다. 그 다음 줄에는k개의 부등호 기호가 하나의 공백을 두고 한 줄에 모두 제시된다. k 의 범..