///////
Search
📏

알고리즘

김하늘_1004

짝수 홀수 문제1
짝수 홀수 문제2

전승환_1004

알고리즘 기초 문제 - 배열과 for loop

문제 풀이

문제: 화폐 가격이 주어졌을 때, 한화 각 화폐 단위의 매수를 구하는 프로그램을 작성하시오.
이 문제에는 하나 이상의 해결 방법이 있다. 먼저 주먹구구식으로 각 화폐의 단위별로 주어진 액수에 몇 개씩 들어가는지 판단해 프린트할 수 있다. 다음 코드를 보자.
초기 화폐 문제 풀이
풀이 설명
하지만 위와 같은 풀이방법은 계속해서 같은 유형의 연산을 값만 바꾸어서 반복한다. 그래서 리팩토링이 가능하다. 이렇게 같은 유형의 변수 선언과 함수 호출이 잦을 때, 변수 선언 대신 배열 자료구조를 사용할 수 있고, 함수 호출 시에는 for loop을 사용할 수 있다. 다음 코드를 보자.
배열 자료구조와 for loop을 사용한 풀이
풀이 설명

결론

알고리즘 문제를 접근할 때에는 먼저 문제의 요소 하나하나를 살펴보며 논리에 맞게 코드로 바꾸어준 후, 리팩토링을 통해 간결화 하는 방식을 사용할 수 있다. 처음부터 추상화 수준이 높은 코드를 짜려고 하면 실수가 있기 마련이다. 먼저 효율성을 따지지 말고 문제를 푼 이후에, 리팩토링을 통해 추상화하고 효율적이게 바꾸어 주는 것이 알고리즘 구현 시 유용하다.