일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- map
- leetcode
- Algorithm
- 서버
- 코딩테스트
- 자바스크립트
- c#
- 프로그래머스
- 완전탐색
- dfs
- Server
- MemoryBarrier
- 프론트엔드 스쿨
- 구조체
- 멀티스레드
- 백트래킹
- 코딩테스트 스터디
- 메모리 배리어
- BFS
- C++
- N과 M(2)
- 제로베이스
- 문자열&연산자
- 백준
- socket
- JavaScript
- 구현
- React
- 알고리즘
- 제로베이스 프론트엔드 스쿨
- Today
- Total
목록알고리즘 문제풀이 (49)
Written
https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 문제 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것이다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정한다. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정한다. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한..
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한..
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 문제 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 하루 동안 다음과 같이 진행되고, 더 이상 아래 방법에..
https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제 N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다. 입력 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄..
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 십진수의 수를 N진수로 변환하는 것이 핵심. 우리가 흔히 십진수를 이진수로 변환할때, 나누기를 하면서 몫이 0이 될때까지 나온 나머지들을 쭈욱 이어 모아 붙이는 방법을 사용한다. N진수 역시 똑같다. 하나의 특징은 십진수 이상부터는 A,B,C,D,E,F를 사용하여 십육진수까지 만든다는 것.이런 진법 변환 문제가 처음이면 다소 어려울 수 있지만, 종종 풀게되기 때문에 알아두어야하고 풀다보면 익숙해진..
https://school.programmers.co.kr/learn/courses/30/lessons/42885 (문제 링크) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 흥미로운 문제였습니다. 정확성과 효율성 두개로 테스트케이스가 나뉘어져있고, 따로 채점이 되는 문제였습니다. 제 풀이는 두개입니다. 첫번째 풀이에서는 정확성 TC는 다 맞았지만, 효율성 TC가 전부 틀렸습니다. 두번째 풀이에서는 정확성과 효율성 TC 모두 맞았습니다. 일단 먼저 처음 이 문제를 접했을때 들었던 생각은 정렬이었습니다. 무게별로 정렬을 해야겠다는 생각이 자동반사처럼 들었습..
https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 풀면서 stringstream에 대해서 공부 해 볼 수 있어서 좋았습니다. 기존에는 문자열을 파싱하려고 할 때, 보통 파싱의 기준이 되는 문자에서 if문 처리를 하거나, 마지막 인덱스에서 분기처리를 하는 방식으로 문제를 풀곤 했었는데 이 문제를 기존에 제가 풀던 방식대로 하면서 풀리지를 않아 인터넷에 올라와있는 풀이를 참고하면서 sstream헤더파일을 사용하는 문..
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이런 그래프 탐색류의 문제들 중에 제 기준에서는 처음 보는 유형의 문제였습니다. 정점이 아니라 정점과 정점 사이의 길에 대한 중복체크라는 새로운 해결요소를 내놓은 문제라 시간 꽤나 잡아먹은 것 같습니다. 그래도 혼자 힘으로 풀어낼 수 있었어서 굉장히 뿌듯하고 만족스럽습니다. 구조체의 힘에 대해서 다시 한번 깨닫게 된 계기였습니다. 문제의 내용은 결국 입력으로 주어진 방향에 맞추어 좌표평면에서 움직..