재바기
JaeTech
재바기
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • Computer Vision (2)
    • 선형대수학 (9)
    • Papers (1)
    • 알쓸신잡 (7)
    • 삽질 기록 (0)
    • 3D\Multiview Geometry (10)
      • CS231A (10)
    • Computer Science (46)
      • Algorithm (14)
      • JavaScript (3)
      • C || C++ (5)
      • Git || Github (3)
      • Linux (2)
      • DL || ML (5)
      • Operating System (8)
      • Computer Network (0)
      • Database (1)
      • Effective Python (5)
      • Data Communication (0)
    • 회고 (0)
    • Latex (1)

블로그 메뉴

  • 홈
  • 태그

Github

공지사항

  • 주인장에 대해

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
재바기

JaeTech

(C++) 백준 1475번 [방 번호]
Computer Science/Algorithm

(C++) 백준 1475번 [방 번호]

2021. 2. 11. 17:18
728x90

알고리즘 첫 게시물..!

이전부터 백준에서 문제를 풀어오긴 했지만 내가 문제를 해결할 때의 생각흐름과 이유 등을 글로 풀면 좀 더 논리적이고 체계적인 공부가 될 것 같아 알고리즘 문제도 포스팅을 해보려고 한다.

 

 

1. 문제 해결 방법 구상하기

 - 일단 입력을 받을 때 배열로 입력을 받아야 한다.

 - 입력 받은 배열(즉 방번호)을 각 자리마다 어떤 숫자를 썼는 지 확인 후 그 숫자에 해당하는 int형 배열의 값을 +1 해준다.(크기가 10인 int 형 배열을 만들어 0~9 중 사용된 숫자의 배열에 +1해주기)

 - 이 문제에서 가장 핵심이 되는 아이디어이다. 이것 때문에 처음에는 정말 복잡하게 문제를 구상하고 풀이했는데 다시  생각해보니 9와 6을 한 숫자로 생각해주면 된다는 것이 이 문제의 핵심이다.

 

2. 구상한 아이디어를 바탕으로 코딩하기

#include <iostream>
#include <cstring>

int main()
{
	using namespace std;

	char roomnum[8];
	int number[10] = { 0 };
	cin >> roomnum;
	for (int i = 0; i < strlen(roomnum); i++)
		number[roomnum[i] - '0']++;
	number[6] += number[9];
	number[6] = (number[6]+1) / 2; // (만약 숫자가 6과 9의 숫자가 3개이면 2개의 세트가 필요하므로)
	number[9] = 0;
	
	int max = 0;
	for (int n = 0; n < 10; n++)
	{
		if (max < number[n])
		{
			max = number[n];
		}
	}
	
	cout << max;

	return 0;
}

첫 알고리즘 관련 포스팅이라 두서가 없지만 다음부터는 좀 더 깔끔하고 논리정연하게 포스팅을 해봐야겠다.

포스팅을 통해 내 생각을 표현함으로써 문제에 대한 복습도 되고 생각의 논리가 좀 더 정돈되는 효과가 있어 만족스럽다.

 

// 피드백 및 문제사항 제기 언제든지 감사히 받겠습니다.

728x90

'Computer Science > Algorithm' 카테고리의 다른 글

(C++) 백준 11729번 [하노이 탑 이동 순서]  (0) 2021.02.21
(C++) 백준 15686번 [치킨 배달]  (0) 2021.02.21
(C++) 백준 2960번 [에라토스테네스의 체]  (0) 2021.02.18
(C++) 백준 2231번 [분해합]  (0) 2021.02.13
(C++) 백준 2798번 [블랙잭]  (0) 2021.02.12
    'Computer Science/Algorithm' 카테고리의 다른 글
    • (C++) 백준 15686번 [치킨 배달]
    • (C++) 백준 2960번 [에라토스테네스의 체]
    • (C++) 백준 2231번 [분해합]
    • (C++) 백준 2798번 [블랙잭]
    재바기
    재바기
    재박이의 테크블로그

    티스토리툴바