C++/CodingTest (24) 썸네일형 리스트형 [백준 1080] 행렬.cpp https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net [백준 15649] N과 M(1).cpp https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [백준 2606] 바이러스.cpp https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net [백준 1766 - 골드 2] 문제집.cpp https://www.acmicpc.net/problem/1766 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주 www.acmicpc.net 처음엔 시간 초과. 진짜 무식한 방법이긴 했다. 문제 풀이 여부를 나타내는 solved 배열을 체크하면서, 풀었으면 다음 문제로 넘어간다. 그리고 해당 문제의 조건의 사이즈가 0이면, 문제를 푼 것으로 하고, 다른 문제들의 풀이 조건 중에 방금 푼 문제가 있으면 그 문제를 없애주었다. 이러니 시간 초과가.... 친구들과 함께 알고리즘 스터디를 하고 있는데, 다른 친구.. [백준 1520 - 골드 4] 내리막 길.cpp https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net '내리막'이라는 조건 때문에 쉽게 풀릴 것 같았는데.. ...시간 초과가 났었던가? 지금 풀이를 다시 보니 DP 개념을 활용했었네... DFS와 DP를 활용했고, 특정 지점에 도달했을 때, 해당 지점에서 목적지로 갈 수 있는 방법의 수를 chk배열에 저장했다. 따라서, chk가 -1 이라면 아직 방문한 적 없고, 0이라면 갈 수 있는 방법이 없다는 뜻. 현재 위치를 기준으로 다음 위치가 '내리막'이라면.. [백준 1620 - 실버 4] 나는야 포켓몬 마스터 이다솜.cpp https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 문제 이름이 귀여워서 들어왔다가 문제 설명이 너무 길어서 당황했던 문제... 처음 풀이는 시간 초과가 났다. 배열에 포켓몬 이름을 저장하고, 그때그때 시키는 걸 처리했다. 지금 와서 생각하면 딱 봐도 map을 활용하는 문제인 것 같은데 그 땐 STL 자체를 잘 몰라서.... 어쨌든 map 사용법을 찾아 활용해 풀었던 문제. 문제 상황 자체는 크게 어렵지 않아서 map만.. [백준 1476 - 실버 5] 날짜 계산.cpp https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net "계산으로 될까?" 라는 생각을 해보다가... 그냥 반복문을 돌려주었다. 우리가 사용하는 연도와 준규의 연도를 계속 증가 및 체크해가면서 주어진 연도가 되었을 때, 반복문을 탈출하여 현재 연도를 출력해주었다. [백준 1475 - 실버 5] 방 번호.cpp https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 6과 9를 어떻게 처리하는지가 핵심인 문제. 우선, 주어진 방 번호에 따라 어떤 숫자가 몇개 필요한지 체크했다. 여기서 6과 9는 서로 바꿔가며 쓸 수 있다고 했기 때문에 그냥 9라는 숫자를 6으로 바꾸었다. 9가 필요해도 6이 필요하다고 생각하고, 숫자 세트에도 9는 없고 6이 2개 있다고 생각하는?? 그럼 6이 4개가 필요하다면, 2세트가 필요한 것이고, 5개가 필요하다면 3세트가 필요한 것이 된다. 이렇게 각 번호를 만족시키기 위한 세트의 개수를 구할 수 있고, 그 중 가장 많이 필요로 하.. [백준 1427 - 실버 5] 소트인사이드.cpp https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 보자마자 어떻게 풀어야할지 알 수 있었던 문제. "배열을 정렬하는 것은 쉽다." 수가 주어졌을 때, 각 자리수를 배열에 저장해준 뒤, 정렬을 실행했다. 2중 for 문을 이용해서 정렬을 했는데.. 이런걸 무슨 정렬이라고 하더라? 어쨌든 정렬 알고리즘이 효율적이진 않았지만 통과에는 지장이 없었다. [백준 1244 - 실버 3] 스위치 켜고 끄기.cpp https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 처음엔 무슨 소린가...싶은 문제였지만, 그냥 문제에서 원하는대로 구현만 해주면 되는 문제. 여담으로.. 코딩스타일에 관한 개념이 전혀 없을 때 풀었던 문제였다. 얼마 전, 누군가 대문자 함수명을 보고 기겁을 했었는데 이렇게 다시 보니... 반갑기도 하고, 웃기기도 하고... 아직 코딩스타일은 잘 모르긴 하지만, 지금은 이렇게는 하고 있진 않다...ㅋㅋ.. 이전 1 2 3 다음