만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍 162

[C++][알고리즘] 프로그래머스:: 예산

https://programmers.co.kr/learn/courses/30/lessons/43237 코딩테스트 연습 - 예산 | 프로그래머스 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정합니다. 1. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정합니다. 2. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산요청에는 모두 상한액을 programmers.co.kr 문제 설명 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산..

[GitHub] GitHub 주요 개념 / 용어 정리

GitHub를 사용하거나, 다른 개발자와 협업할 때, 대화할 때 사용할 법한 주요 개념들을 기록하여본다. ^.^ commit 하나 이상의 file에 변경한 내용을 저장할 때마다 새로운 commit이 생성 된다. ex) 이 내용을 commit 하고 이를 Git으로 push 합시다. branch 새 코드의 테스트나 새 기능을 넣어 사용해보기 위해 사용할 수 있는 따로 떨어진 독립적인 commit을 말한다. branch 의 뜻처럼, 새로운 방향으로 가지를 뻗어나간다는 것. ex) 이번 새기능을 구현하기 위해 branch 를 따로 생성했다. master branch 새 프로젝트를 만들 때 마다 생성되는 기본 브랜치. 작업이 최종적으로 마무리되는 브랜치. 가장 메인이 되는, 나무의 중심같은 느낌으로 생각하면 될듯..

프로그래밍/ETC 2019.09.08

[C++][알고리즘] 백준 1813번 마지막한마디

https://www.acmicpc.net/problem/1813 1813번: 마지막 한마디 첫째 줄에 항승이가 한 말의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 둘째 줄에 항승이가 한 말에 등장하는 정수가 주어진다. 항승이가 말한 수는 100,000보다 작거나 같은 음이 아닌 정수이다. www.acmicpc.net 문제의 아이디어 brute force 카테고리의 문제이니만큼 무식하게 for문을 돌린다. "n개의 말이 참이다." 가 전체 N개 중에 n개만큼 존재하면 n개의 말이 참이 된다. 깨달은 점 딱히 새로운 부분은 없는 문제. cin 와 printf 병행 불가 문제에 대해 더 알아봐야 겠다. 이 경우 printf,scanf의 시간이 더 적게 소모되는..

[C++][알고리즘] 백준 2346번 풍선터트리기

https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 첫째 줄에 자연수 N(1≤N≤1,000)이 주어진다. 다음 줄에는 차례로 각 풍선 안의 종이에 적혀 있는 수가 주어진다. 편의상 0은 적혀있지 않다고 가정하자. www.acmicpc.net 메인아이디어 모듈로연산을 이용한 index범위내 탐색 (원형큐) 막혔던 부분 코드에 문제가 없었으나 계속해서 틀린답으로 채점되었다. 혹시나 해서 scanf 를 cin으로 바꿨더니 바로 컴파일이 가능... 깨달은 점 vector의 make_pair를 이용하여 만들 수 있다. scanf와 cin을 병행해서 사용하면 백준에서는 틀린답으로 내는 경우가 있으니 굳이 그러지 말아야 한다. (이유는 잘 모르겠는데 ㅠ) 참고한 (서리해낸) ..

[C++][알고리즘] 백준 14215번 볼링점수계산

https://www.acmicpc.net/problem/17215 17215번: 볼링 점수 계산 첫째 줄에 각 기회마다 소현이가 쓰러뜨린 볼링핀의 개수가 공백없이 주어진다. 이때 스트라이크는 S, 스페어는 P, 핀을 하나도 못 쓰러뜨린 것은 -으로 주어진다. www.acmicpc.net 소감 동아리의 개발팀장(에리카 출신) 이 풀라고 준 문제. 어떤 알고리즘을 요구하는지는 잘 모르겠고 일종의 점수 계산기를 만드면 되는 문제이다. 간단해보이지만 내 코드의 잘못된 부분을 찾아 고치는 것이 조금 번거로웠다. 그렇게 깔끔하지도 않은 정답이라는 생각. 정답맞춘 분들 리스트를 보면 900,800Byte로도 맞추시던데... 갠적으로 존경... (참고로 본인은 1700B 정도 ^.^;;) 고민해볼법한 부분들 굳이 v..

[C++][알고리즘] 프로그래머스::타깃넘버

https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 | 프로그래머스 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘 programmers.co.kr 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 ..

[C++][알고리즘] 프로그래머스::전화 번호 목록

https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r programmers.co.kr 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접..