안녕하세요.
오늘도 정올에서 출제된 문제를 풀이했습니다.
세개의 변수를 주고 합계와 평균을 출력하는 간단한 문제였습니다.
두개의 값을 입력받고 첫 번째는 100을 증가 a+= 100;
두 번째는 10으로 나눈 값 b%= 10;
을 이용하여 차례대로 출력하여 별문제 없이 풀이 가능했습니다.
이문제를 풀면서 1차멘붕이,,,,
후치 증가와 전치 증가라는 개념을 여기서 처음 알게 되었습니다.
배운 내용에 있지 않았기에,,, 검색을 통하여 찾았으며,
전치 증가는
b = ++a; // b의 값이 1일 때 b = 2 a = 2 가 되는 값을 얻을 수 있습니다.
후치 증가는
b = a++; // b의 값이 1일때 b = 1 a =2 가 되는 값을 얻을 수 있습니다.
전치 증가는 b의 값도 올라가고 a의 값도 올라가는 것이지만,
후치 증가는 a의 값이 먼저 올라가고 b의 값이 올라가는 개념입니다. ,,, 아마도(?)
정확한 개념은 머리로는 이해됐지만 말로 풀지는 못하겠습니다...
위 문제와 비슷한 유형의 문제로 전치 감소, 후치 증가를 사용하여
쉽게 출력할 수 있는 문제입니다.
자가진단 6문제를 풀면서 알게 된 사실이지만,,,,
이렇게 if문을 쓰지 않아도
boolean을 사용하여 문제를 풀 수 있다는 사실을 알게 되었습니다.
if문을 쓰게 되어 답이 길게 나왔네요...
위에서 설명한 바와 같이 boolean을 사용하여 result라는 변수를 생성하고,
4가지의 경우의 수를 만들어
그 결괏값에 맞게 출력하여 줬습니다.
위의 5번 문제보다 쉽고 가볍게 만들 수 있는 방법이었습니다.
잠시 멘붕이 왔던 문제 인대요..
힌트를 통하여 c라는 변수에 a가 0이 아닐 때의 값과,
d라는 변수에 b가 0이 아닐때의 값을 넣어줌으로
!= (not equal)의 뜻입니다.
출력을 c와 d가 모두 일치할 때 , 그리고 c 또는 d일 때의 경우 두 가지를 넣어줌으로
결괏값을 출력할 수 있었습니다.
이문제는 아직 100% 이해가 되지 않아 코드를 보며 다시 이해, 연구 중입니다.
아직 실력이 부족하여 연산자에서부터 막혔습니다...
좀 더 공부하여 연산자를 확실하게 짚고 넘어가고 다음 진도를 나가도록 하겠습니다.
※현재 저는 Eclipse를 접하게 된 지 얼마 되지 않았으며,
알고 있는 지식이 많지 않아 잘못된 내용을 적어 놓았을 수도 있습니다...
제가 좀 더 지났을 때 기초를 어떻게 배웠었고 어떤 과정을 지나왔는지 보기 위해 포스팅하는 것이며,
저 같은 초보분들이 저와 같은 비슷한 속도로 공부를 하며 함께 했으면 하는 마음에 포스팅하는 것입니다.
잘못된 부분이 있어 지적해주신다면 달게 받도록 하겠습니다.
앞으로도 꾸준히 포스팅하겠습니다.
'알고리즘 > Jungol' 카테고리의 다른 글
[Java] 정올기초다지기 선택제어문 자가진단06~09 (0) | 2019.12.30 |
---|---|
[Java] 정올기초다지기 선택제어문 자가진단01~05 (0) | 2019.12.29 |
[Java] 정올기초다지기 연산자 형성평가01~05 (0) | 2019.12.28 |
[Java] 정올기초다지기 입력 형성평가01~05 (0) | 2019.12.26 |
[Java] 정올기초다지기 입력 자가진단05~09 (0) | 2019.12.25 |