개발나라코드천국
close
프로필 사진

개발나라코드천국

  • 분류 전체보기 (116)
    • 데이터엔지니어링 (12)
    • 대외 활동 (7)
    • 회고 (0)
    • AWS (2)
    • Java (7)
    • 알고리즘 (82)
    • 컴퓨터네트워크 (4)
  • 홈
[백준] 2293번 동전 1 C++ 문제풀이

[백준] 2293번 동전 1 C++ 문제풀이

https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 DP문제라는걸 고려하고 문제 해결 방법을 고민하니 답이 금방 나왔다. 새롭게 경우의 수가 추가되는 경우를 생각해보니, dp[n] + dp[n - 현재 사용한 동전의 종류 크기] 를 하면 새로운 dp[n] 값이 나온다. 우리가 궁금한 값은 dp[k] 이므로 dp[k]까지 배열을 돌려주면 된다. 소스 코드 #include #include #include using namespace std; ..

  • format_list_bulleted 알고리즘
  • · 2023. 9. 14.
[백준] 11053번 가장 긴 증가하는 부분 수열 C++ 문제풀이

[백준] 11053번 가장 긴 증가하는 부분 수열 C++ 문제풀이

https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 풀이 DP 문제의 특성을 이용해 한 번의 반복문으로 풀려고 했는데 잘 풀리지 않았다. 이중 반복문을 이용해 최장 증가하는 부분 수열 값을 구했다. 소스 코드 #include using namespace std; int num[1001] = { 0 }; int cnt[1001] = { 0 }; int main() {..

  • format_list_bulleted 알고리즘
  • · 2023. 9. 13.
[백준] 1149번 RGB거리 C++ 문제풀이

[백준] 1149번 RGB거리 C++ 문제풀이

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 풀이 그 전에 R을 칠한 경우, G를 칠한 경우, B를 칠한 경우를 나눠서 문제를 해결했다. 다음 R을 칠하는 경우는 그 전에 G랑 B를 칠한 경우에 현재 R을 칠하는 경우를 더해줬다. 다른 색도 마찬가지로 풀면 된다. 소스 코드 #include using namespace std; int RGB[1001][3] = { 0 }; int sum[1001][3] = { 0 ..

  • format_list_bulleted 알고리즘
  • · 2023. 9. 12.
[백준] 9466번 텀 프로젝트 C++ 문제풀이

[백준] 9466번 텀 프로젝트 C++ 문제풀이

https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 문제 풀이 DFS를 이용했는데, 이 문제의 핵심은 마지막 순서의 노드는 무조건 순환을 이룬다는 것이다. Visited 배열을 이용해 방문 여부를 확인하고 재귀문 안에서 방문을 했었는데 순환 그래프를 아직 확인하지 않았다면 done 배열을 이용해 순환그래프를 이루는 노드들을 count 해주었다. 마지막으로는 조건문 밖에 done[x] = true를 통해 순환 여부를 확인했음을 코드로 작성했다 소스 코드 ..

  • format_list_bulleted 알고리즘
  • · 2023. 9. 11.
[백준] 13549번 숨바꼭질 3 C++ 문제풀이

[백준] 13549번 숨바꼭질 3 C++ 문제풀이

https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 문제 풀이 처음 문제를 접했을 때 당연히 동생이 수빈이 보다 앞에 있을 거라고 생각해서 코드를 짰다가 틀렸다. 그리고 다음에는 방문 여부를 저장해주지 않아서 메모리 초과가 나왔다. 이 문제는 결국에 2*X 를 갈 때 0초가 걸린다는 것이다 따라서 BFS를 이용해서 문제를 풀 때 2로 나눠지는 경우를 가장 먼저 넣어줘야한다 소스 코드 #include #inclu..

  • format_list_bulleted 알고리즘
  • · 2023. 9. 10.
[백준] 7569번 토마토  C++ 문제풀이

[백준] 7569번 토마토 C++ 문제풀이

https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 문제 풀이 BFS를 이용해 문제를 해결했다. 맨 처음 값을 저장할 때 1인 애들을 queue에 넣어두고, 바로 BFS를 진행했다. if문의 조건을 map[nx][ny][nz] == 0 || map[nx][ny][nz] > map[x][y][z] + 1로 두어서 최소값이 저장될 수 있게 진행했다. 또한 map 배열에는 거기까지 도달하는 날짜를 저장했다. 소스 코드 #inclu..

  • format_list_bulleted 알고리즘
  • · 2023. 9. 9.
  • navigate_before
  • 1
  • ···
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • ···
  • 20
  • navigate_next
전체 카테고리
  • 분류 전체보기 (116)
    • 데이터엔지니어링 (12)
    • 대외 활동 (7)
    • 회고 (0)
    • AWS (2)
    • Java (7)
    • 알고리즘 (82)
    • 컴퓨터네트워크 (4)
인기 글
전체 방문자
오늘
어제
Copyright © jin_e_us 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바