c++(15)
-
[백준] 10799 | 쇠막대기 | C++
풀이의 핵심은 이렇다. 입력으로 주어진 문자열을 하나씩 순서대로 처리한다: 만약 ( 이라면: 막대기의 시작을 알리는 것이다. stack에 넣는다; 만약 ) 이라면: stack pop; stack의 top(가장 최근에 넣은 값)이 ( 이라면: 레이저로 인해 조각들이 생겼다. 생겨난 조각 수(stack의 size)만큼 결과값에 더한다; stack의 top(가장 최근에 넣은 값)이 ) 이라면: 조각의 끝을 알리는 것이다. 결과값에 하나를 더한다; 위의 그림과 함께 보면 의사코드의 이해에 도움이 될 것이다. 주의할 점은, ) 을 처리하려는데 이전에 ( 이 들어왔다면, 막대기가 아닌 레이저이므로 미리 stack에서 pop시켜야 한다. 그래야 조각 수를 올바르게 더할 수 있다. ) 을 처리하려는데 이전에도 ) 이 ..
2022.07.15 -
[백준] 2812 | 크게 만들기 | C++
내가 생각한 풀이의 핵심은 이렇다. 입력으로 주어진 숫자를 하나씩 순서대로 처리한다: 만약 i번째 수 > stack의 top이라면: stack pop; k 하나 감소; i번째 수를 stack에 넣는다; 이후 k가 남아있을 수 있으니, k가 0이 될 때까지 stack을 pop시켜야 한다. (나중에 다른 사람의 풀이를 통해 알게 되었다.) 그리고 stack에 담긴 수를 역순으로 꺼내서 답을 조합하였다. 그런데 stack으로 풀면 시간 초과가 났다. 그래서 vector로 대신하여 풀었더니 맞았습니다!!가 나왔다. (왜 이런지는 잘 모르겠다.) 정답 소스코드 - vector를 이용한 풀이 #include #include using namespace std; int main() { ios::sync_with_st..
2022.07.15 -
CodeUp 언어별 문제풀이 (C, C++, Java, Python)
github.com/yunbinni/CodeUp yunbinni/CodeUp Contribute to yunbinni/CodeUp development by creating an account on GitHub. github.com 제 깃허브 리포지토리에 C, C++, Java, Python별 풀이소스들을 올려두었습니다. 잘못된 내용이 있으면, 여기에 댓글로 남겨주시기 바랍니다. 가능한 빠른 시간에 수정하도록 하겠습니다. 현재 해결한 문제번호들 보기 -> https://codeup.kr/userinfo.php?user=yunbinni 코드업 바로가기 -> codeup.kr
2021.02.24