카카오2017 신입 공채 1차 코딩테스트의 1번 문제가 비트연산자를 이용한 문제가 나와서 해당 문제를 풀기 위해 비트연산자를 다시 공부해보았다. 비트연산자에 대해 학습 흥미도가 떨어진다면 해당 문제를 푸는 것을 목표로 삼아보자. 카카오 2017 신입 공채 1차 코딩 테스트 문제 해설비트연산자란? 피연산자(숫자)를 비트 단위(2진수)로 다루기 위한 연산자이다. (설명은 Java로 진행한다.) 10진수를 2진수 문자열(String)으로 변환하기 비트연산자 일지라도 자바에서 비트연산자는 10진수의 숫자로 진행해야 한다. 하지만 2진수로 변환된 숫자를 직접 보지 않으면, 연산이 제대로 되고 있는지 알기가 어렵다. Integer.toBinaryString() 메소드를 이용하여 10진수의 숫자를 2진수의 문자열로 ..
수학에서 사용되는 사칙연산에는 여러가지 규칙이 있다. 예를들어 곱하기와 나누기는 다른 연산보다 우선시 되어 하고, 괄호가 있는 경우에는 모든 연산의 최우선이 된다. 이러한 규칙들로 인해서 사칙연산을 프로그래밍적으로 구현하기에 많은 어려움이 있다. 하지만 ‘후위표기식(postfix expression)’을 사용한다면 좀 더 쉽게 가능할 것이다. 후위표기식이란 먼저 우리가 일반적으로 사용하는 사칙연산은 피연산자(숫자)사이에 연산자(+-*/)가 들어가는 형태로 ‘중위표기식(infix expression)’이라고 한다. 그러나 후위표기식은 피연산자가 먼저쓰이고, 그 뒤로 피연산자가 나오는 형태를 말한다. 예를들어, 4+3의 중위표기식을 후위표기식으로 바꾼다면 4 3 + 으로 표현할 수 있다. 후위표기식의 장점 ..