저는 코딩 공부를 하면서 항상 코딩테스트 문제를 푸는 사람들을 부러워하고 있었습니다
그래서 가끔 가장 쉬운 문제를 들어가서 보곤 했지만 도대체 이건 어떻게 하는건지 건들지도 못 하고 있었습니다...🥲
그러한 상황에서 자바스크립트를 이론으로 공부 하다가 중간에 막혀서 실전으로 들어가보자 하고 오늘 코딩테스트를 들어서가 문제를 봤습니다
결과는 첫 문제가 여전히 저의 발목을 잡고 있었네요... 그래도 코딩은 머리 싸움이라고 계속 구글링 하고 실행해보고 하면서 첫 문제를 겨우겨우 풀었네요...ㅜ
풀 수 있었던 문제였는데 제가 접근을 못 하고 있어서 못 풀고 있는 것 같았습니다!!
왜냐하면 하나가 풀리니 다른 문제도 풀리더라구요 ㅎ
그러다가 한 문제에서 다시 막혔네요,,,
그 문제는 바로 '짝수의 합' 문제였는데요,,
짝수를 보고선 바로 2로 나눠서 나머지의 값이 0으로 나오는 것을 생각 하긴 했지만 어떻게 코드를 짜야하는지 몰라서 그동안 공부했던 자바스크립트를 내려놓고 구글링을 하기 시작했습니다 ㅜ
도와줘요 구글맨!!
구글을 하면서 반복으로 더할때에는 for
반복문을 사용했다는 것을 찾게 됐습니다! 분명히 봤던 내용인데 실전에서는 처음 사용하다보니 생각이 안났더라구요,,,
이때 부터 실전으로 많이 활용해봐야겠다 생각했습니다,,,
암튼 for
반복문을 활용하는 건 알겠고 그 다음은 어떻게 코드를 짜야하나 교재도 찾아서보고 검색도 계속 진행했습니다
그래서 하단의 코드를 짤 수 있었습니다
예전에 공부했던 내용에 for
반복문은 관습적으로i
를 사용한다고 했던 내용이 기억이 나서 i
를 넣고
증감 되지만 내가 넣는 수 보다 크면 안되기 때문에 i <= n를 사용하고
처음에 생각했던 나머지의 값이 0이 되는 것을 if
문을 활용해서 넣어주었고
값이 모두 더해져야 되기 때문에 answer += i
로 답을 구할 수 있었습니다
기존 코드에서 solution(n)
으로 작성 되어 있었기 때문에
하지만 더 간단하게 할 수 있는 방법이 뭘까 고민하면서 다시 구글링을 시작했습니다
구글링을 하면서 찾은 답은
이렇게 진행 되네요 그냥 처음부터 i = 2
로 시작하고 i += 2
로 진행하면 시작을 2
로 시작하면서 2
씩 증가하는 조건을 줄 수 있었습니다
그래서 저는
다양한 방향으로 생각을 해야되는 것을 느꼈고, 문제를 보고 계속해서 호기심을 갖고 다른 방향성도 살펴볼 수 있어서 된다고 느꼈습니다...! 그리고 역시 뭐든지 실전으로 덤벼봐야지 많이 깨닳는 것 같습니다...ㅎ
마지막으로
개발 고수 분들이 보면 이게 뭘 이렇게까지 고민할 일이야 하고 하실 수 있지만 완전 초보자인 저한테는 엄청난 성취감과 희망을 맛 볼 수 있는 순간이었습니다...!
개발자를 위해 오늘도 공부하시는 여러분들 항상 빠이팅 하자구요 몸이 힘들어도...ㅎ
포문 쓸 필요없음
등차수열의 합 쓰면 한줄로 끝남
(n/2) * ((n/2) + 1) 이 문제의 정답을 낸다는건 고등학교 1학년이면 알 수 있음