코딩테스트 17

[프로그래머스] 1단계 - 음양더하기 (JAVA)

랜덤으로 주어지는 최대 1,000개의 정수에서 절댓값과 양수/음수 여부를 분리하여 각각의 배열에 넣어놓은 상황을 가정한 문제이다. int형 배열인 absolutes에는 정수의 절댓값만이, boolean형 배열인 signs에는 정수의 양수/음수의 값이 각각 true/false 의 값으로 저장되어있다. absolutes배열과 boolean배열은 짝을 이루고 있으며, 두 배열의 길이는 동일하다. 예를 들어, absolutes[4]에 해당하는 절댓값의 기호는 signs[4]에 저장되어있다는 뜻이다. 간단한 배열과 반복문을 이용하는 문제이며, 두 번째 소스와 같이 for문 안의 if~else문을 3항 연산자를 이용하여 한 줄로 줄여 쓸 수도 있다.

[백준] 2588번 - 곱셈 (JAVA)

해당 문제는 세자리 수의 곱셈에서 중간 과정의 숫자를 구하는 문제이다. 해당 그림에서 (1)번 숫자와 (2)번 숫자를 입력한다면, (3) ~ (6)을 출력하는 문제이다. 문제를 자세히 보면 (1) x (2)의 1의자리 수, (1) x (2)의 10의 자리 수, (1) x (2)의 100의 자리 수, (1) x (2) 를 차례로 출력하는 것임을 알 수 있다. 먼저 BufferedReader를 생성하여 콘솔창을 통해 두 개의 (1)과 (2)의 값을 입력받을 수 있도록 한다. (1)의 숫자는 따로 처리가 필요하지 않으므로 곧바로 계산식에 사용할 수 있도록 int형으로 형변환하여 num1변수에 담아주었다. 그러나 (2)의 숫자는 split() 함수를 통해 각각 자릿수 별로 분리하기 위해 String형 그대로 n..

[백준] 10998번 - A*B (JAVA)

이번 문제 역시 1000번 덧셈 문제와 1001번 뺄셈 문제와 동일한 유형의 사칙연산 문제이다. 1000번 문제는 Scanner를 이용해서 풀어보았고, 1001번 문제는 BufferedReader와 StringTokenizer를 이용해서 풀었다. 그리고 이번 10998번 곱셈문제는 BufferedReader와 split() 함수를 이용해서 풀어보았다. ( 지난 풀이들 참고 ) [백준] 1단계 1000번 - A+B (JAVA) 이번 문제는 두 개의 숫자를 입력받아 그 합을 출력하는 문제이다. 내가 기억하기로는 값을 입력받는 방법에 여러가지가 있었던 것 같은데 레퍼런스 없이 바로 적으려니 기억나는 것이 Scanner밖 zzzin.tistory.com [백준] 1단계 1001번 - A-B (JAVA) 이번 문..

[백준] 1001번 - A-B (JAVA) / 1008번 - A/B (JAVA)

이번 문제는 저번 문제와 같이 두 숫자 값을 입력받아 계산값을 내는 동일 유형의 문제인데, 저번 포스팅에서는 간단하게 Scanner를 이용해서 풀어봤지만 이번에는 저번에 참고하겠다고 첨부했던 포스팅을 보고 BufferedReader와 StringTokenizer를 이용해서 풀어봤다. [백준] 1단계 1000번 - A+B (JAVA) 이번 문제는 두 개의 숫자를 입력받아 그 합을 출력하는 문제이다. 내가 기억하기로는 값을 입력받는 방법에 여러가지가 있었던 것 같은데 레퍼런스 없이 바로 적으려니 기억나는 것이 Scanner밖 zzzin.tistory.com 이번 문제에서 쓴 BufferedReader 역시 Scanner와 동일하게 콘솔창에서 키보드를 통해 값을 입력받아 처리하는 것이므로 System.in 사..

[백준] 1000번 - A+B (JAVA)

이번 문제는 두 개의 숫자를 입력받아 그 합을 출력하는 문제이다. 내가 기억하기로는 값을 입력받는 방법에 여러가지가 있었던 것 같은데 레퍼런스 없이 바로 적으려니 기억나는 것이 Scanner밖에 없어서 이 방법을 사용했다. 참고로 문제에서 A,B는 0과 10 사이의 숫자라는 조건은 코드에 적지 않아도 정답처리가 되는 것으로 보아, 해당 조건은 필수조건은 아닌 듯 하다 ( 혹은, String형으로 두 값을 한번에 입력받아 split() 등을 사용해서 문제를 풀 경우를 위한 조건일 수 도 있다 ) 해당 Scanner함수의 변수명은 대체로 scan, sc, in 등을 많이 사용하는 듯 하다. 굳이 새로운 변수명을 사용해서 다른 사람이 내 코드를 볼 때 헷갈리게 할 필요는 없을 것 같다. 그리고 콘솔창을 이용해..

[백준] 10172번 - 개 (JAVA)

앞서 포스팅했던 10171번 고양이 문제와 유사한 escape sequence를 아는지 확인하는 문제이기 때문에 자세한 설명은 생략하고 이전 포스팅 주소를 첨부하겠다 [백준] 1단계 10171번 - 고양이 (JAVA) 간단한 문제이기 때문에 이클립스나 VSCode같은 편집기를 사용하지 않고 백준 사이트 내에서 바로 풀게 되면, 초보의 경우 쉽게 틀리는 문제이다(사실 내가 그랬음..) 문제가 없어보이는데 자꾸 zzzin.tistory.com

[백준] 10171번 - 고양이 (JAVA)

간단한 문제이기 때문에 이클립스나 VSCode같은 편집기를 사용하지 않고 백준 사이트 내에서 바로 풀게 되면, 초보의 경우 쉽게 틀리는 문제이다(사실 내가 그랬음..) 문제가 없어보이는데 자꾸 컴파일 오류로 떠서 구글링을 해보니 자바의 몇몇 문자는 단독출력이 안되는 Escape Sequence이며, 대표적으로 백슬래시와 큰따옴표가 있다는 사실을 알았다. 사실 예전에 배웠는데 편집기에서 쓰면 오류라고 뜨기 때문에 굳이 안외웠기 때문에... 처음부터 편집기로 작성했다면 알 수 있었던 문제이다. 그런데 이클립스를 이용해서 유효하도록 잘 입력했는데도 '출력형식이 잘못되었습니다' 라고 뜨며 오답처리가 되었는데, 이건 찾아보니까 불필요한 공백이나 엔터가 추가되어 있는 경우에 뜨는 사유인 듯 해서 고쳐서 제출하니 정..