구현 문제

김우진·2021년 11월 2일
1

알고리즘

목록 보기
2/8
post-thumbnail

이 글은 나동빈님의 이것이 취업을 위한 코딩 테스트다 with 파이썬 책을 정리한 내용입니다.

구현 문제란?

코딩 테스트에서 구현 문제란 "풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제"를 의미한다. 이는 자신이 사용하는 프로그래밍 언어에 대한 이해가 필요하므로 구현 유형의 문제는 "피지컬을 요구하는 문제"라고도 한다.

보통 구현 유형의 문제는 사소한 입력 조건 등을 문제에서 명시해주며 문제의 길이가 꽤 긴 편이다. 구현 유형의 문제는 문자열을 처리하거나 큰 정수를 처리하는 문제가 출제되는 경우가 많은데, C/C++, JAVA에서는 문자열 처리가 파이썬에 비해 까다롭고, 큰 정수를 처리하는 라이브러리를 별도로 사용해야해 더 어렵게 다가온다.

구현하기 어려운 문제 유형

  1. 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제

  2. 특정 소수점 자리까지 출력해야 하는 문제

  3. 문자열이 입력으로 주어졌을 때 한 문자 단이로 끊어서 리스트에 넣어야 하는(파싱을 해야 하는) 문제

    -> 사소한 조건들이 많은 문제

구현 시 고려해야 할 메모리 제약 사항

변수의 표현 범위

Java int 자료형의 표현 범위는 -2,147,483,648 ~ 2,147,438,647인데 이 말은 이보다 큰 수는 int 자료형으로 처리할 수 없다는 것이다.

더 큰 수를 처리하기 위해선 크기가 8byte인 long long과 같은 자료형을 사용하는데 이 또한 9,223,372,036,854,775,807보다 큰 수를 처리할 수 없다. 따라서 훨씬 큰 변수를 만들려면 흔히 BigInteger 클래스를 구현하거나 이용해야한다. 자바의 경우 BigInteger를 표준 라이브러리로 지원한다.

출처

  1. 나동빈, 『이것이 코딩 테스트다』, 한빛미디어(2020), p104-120

썸네일 출처

Pixabay로부터 입수된 mohamed Hassan님의 이미지 입니다.

0개의 댓글