오늘은 안드로이드 스튜디오가 나를 아침부터 지겹게 만들었다. 바로, 디버거가 제대로 안 붙는 버그 때문이었다.(거지같은..) 저녁을 먹고 나서야 해결했었는데 그 전에는 그냥 일반모드로 실행하고 로그캣에서 크래시날 때마다 에러를 확인하며 코드를 수정했다. 그렇게 버티다 결국 디버그모드가 필요했는데 제대로 실행되지 않았다. 스튜디오 하단의 task들은 정상적으로 수행이 되었고 빌드까지 successful 이라면서 정작 디바이스 화면에는 이 화면만 보이고 있었다. 결국 짜증이 극도로 올라온 상태에서 동료들과 식사를 마치고 다시 회사로 돌아오며 부장님께 슬쩍 여쭤보았다. 부장님, 혹시 디버그 모드로 계속 재실행하다보면 안될 때 어떻게 하세요? 휴대폰 껐다 키고, 스튜디오 캐시 날려봐 아까 오전부터 스튜디오 캐시..
이번 문제는 문자열 안의 숫자를 찾아 모두 더하는 문제이다. 문제 밑에 살짝 잘린 유의사항이 있는데 연속된 숫자도 한 자리 숫자로 취급한다고 한다. 내가 이 문제를 푼 방식은 문자열의 인덱스마다 문자를 정수로 형변환하고 그 값을 더해 리턴하는 것이었다. 그런데 만약 정수로 형변환할 인덱스의 문자가 정수형이 아니라면? 당연히 에러가 날 것이다. 형변환이 불가능하다고.. 그럼 어떻게 해야할까.. 나는 try-catch를 사용했다. 만약 형변환을 하는데 에러가 발생하면 그냥 반복문을 continue하도록 처리했다. 풀이 그리고 다시 Char to Int의 형변환을 알아보았는데 나는 전에 Character.getNumericValue()를 사용했었다. 하지만, 위의 메소드는 코틀린 버전이 낮을 때(1.5 이전)..
오늘도 코틀린 문법을 기억하기 위해 문제를 풀어보았다. 문제 문제를 보자마자 코틀린의 when을 사용하면 쉽게 풀 수 있겠다는 생각이 들었다. 다만 price가 Int형으로 주어지기 때문에 할인을 한 가격이 소수점이 나올 경우가 있어 계산된 값을 형 변환해주어야 했다. 풀이 처음엔 범위 연산을 until을 사용하지 않고 ..을 사용해 299999, 499999로 문제를 풀었는데 숫자가 보기 싫어서 until로 다시바꿔 풀어보았다. else -> answer = price.toDouble() else에서도 위처럼 문제를 풀었는데 굳이 메소드를 호출해 형변환하는 것이 불필요하다 생각해 곧바로 주어진 price를 리턴하는 것으로 바꿔보았다. 실행 결과