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

기록해야 기억한다

프로그래밍/programmers&bj 78

[C++][알고리즘] 프로그래머스:: 기능개발

https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programmers.co.kr s = (100 - progresses[i]) % speeds[i]; 속도로..

[C++][알고리즘] 백준 16396번 선그리기

https://www.acmicpc.net/problem/16396 16396번: 선 그리기 준용이의 조카 준섭이는 크레파스로 한 직선에 평행한 여러 개의 선분을 그리고 있었다. 준섭이의 모습을 보고 있던 준용이는 준섭이가 그린 모든 선들을 직선 좌표에 투사(projection)했을 때 투사된 선들의 길이 합이 궁금하였다. 준용이에게 잘 보여야하는 여러분은 준용이의 궁금증을 해결하기 위해 프로그램을 구현해주자. www.acmicpc.net 신경써야하는 것 - 배열의 범위

[C++][알고리즘] 백준 16395번 파스칼의 삼각형

문제 https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행에는 N개의 수가 있다. 첫 번째 행은 1이다. 두 번째 행부터, 각 행의 양 끝의 값은 1이고, 나머지 수의 값은 바로 위 행의 인접한 두 수의 합이다. 예를 들어, n=3이면 3번째 행의 2번째 수는 위 행의 인접한 두 수 (1과 1)을 더해서 만든다. n www.acmicpc.net 테마 이항계수 문제. 특별히 추가적인 STL 필요 없다. 울 학교 코딩대회 B번 문제. 난 너무 부족함을 느낀다. 코드 반..

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

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

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