본문 바로가기

ALL

(127)
[알고리즘] SW Expert Academy 10806. 수 만들기 문제 풀이 (사고의 흐름) 문제를 읽어보면, N개의 수 a,b,c....(>=2) 가 주어지고 이 수들을 곱한 값들을 더해서 K를 만드는 문제이다. 이때, K를 만들기위해 수를 더하는 회수를 최소로 해야한다. 처음에 문제를 풀기위해 "답을 구하기 위한 하나의 정확한 로직이 있을것이다" 라는 생각을 해버렸다. 계속 반복문을 돌려가서 정답을 찾아가는 것이 아닌, K에 a,b,c...를 곱하여 만들 수 있는 K보다 작거나 같은 수를 빼고... 남은값에서 이를 다시 반복하면 정답이 나올거라고 생각했다. 하지만 반례가 계속해서 나왔고 로직을 수정해보아도 새로운 반례가 나왔다. 그래서 다시 처음부터 생각을 고쳤다. "답을 한번에 구하는 완벽한 로직은 없다. 최선으로 계속 시도해서 답을 찾아보자". 수를 더하는 회수..
Postgresql ERROR: hour "15" is invalid for the 12-hour clock 에러 스프링 Mybatis에 대해 공부하던 중, 아래와 같은 에러가 발생했다. SQL 실행중 발생한 에러로 Postgresql 문법을 제대로 몰라서 발생한 에러였다. INSERT INTO MY_TABLE( ..., start_date, ...) VALUES( ..., TO_DATE('2020-12-31 23:59:59', 'yyyy-MM-dd hh:mi:ss'), ...) ERROR: hour "15" is invalid for the 12-hour clock 에러문을 보면 12시간을 나타내는데 15는 부적절하다고 한다. 찾아보니 Postgresql에서 HH는 hour of day (01-12)를 나타내고, 24시간을 표현하고 싶으면 HH24를 써야한다. INSERT INTO MY_TABLE( ..., sta..
Postgresql ERROR: conflicting values for "mm" field in formatting string 에러 스프링 Mybatis에 대해 공부하던 중, 아래와 같은 에러가 발생했다. SQL 실행중 발생한 에러로 Postgresql 문법을 제대로 몰라서 발생한 에러였다. INSERT INTO MY_TABLE( ..., start_date, ...) VALUES( ..., TO_DATE('2020-12-31 23:59:59', 'yyyy-MM-dd hh:mm:ss'), ...) ERROR: conflicting values for "mm" field in formatting string 실행한 INSERT 문을 잘 보면 알겠지만, TO_DATE에 MM과 mm이 동시에 존재한다. 나는 각각 월과 분을 표시한다고 했지만 실제 Postgresql 에서는 둘다 월이다. 분을 나타내기 위해서는 "mi"를 사용해야 한다. I..
자바 Failed to instantiate [java.util.List]: Specified class is an interface 에러 자바 스프링기반으로 웹서비스를 개발하던 중, 다음과 같은 에러가 발생했다. @PostMapping("/mypath") public ResultView myPostMethod(List myList) { return new ResultView(myService.doSomething(myList)); } org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface 위에 보이는 /mypath API를 호출하면, List가 인터페이스 이기 때문에 이를 초기화 할수 없다는 에러가 발생한다. 에러 문구만 보고 List를 ArrayList로 변경해주면, 에..
MyBatis: Mapped Statements collection already contains value for ~ 에러 MyBatis를 사용하여 API 서버를 개발하던 중, 다음과 같은 에러를 만났다. Mapped Statements collection already contains value for ~ 검색을 해보니 중복되는 Id가 존재할 경우 이러한 에러가 발생한다고 해서, 마이바티스의 맵퍼 xml 파일을 뒤져보았다. ... ... ... 그 결과, 동일한 Id를 가진 select 구문을 찾았고 이를 수정하니 에러가 발생하지 않았다.
MyBatis: Result Maps collection already contains value for ~ 에러 MyBatis를 사용하여 API 서버를 개발하던 중, 다음과 같은 에러를 만났다. Result Maps collection already contains value for ~ 검색을 해보니 중복되는 Id가 존재할 경우 이러한 에러가 발생한다고 해서, 마이바티스의 맵퍼 xml 파일을 뒤져보았다. ... ... ... 그 결과, 동일한 Id를 가진 resultMap 구문을 찾았고 이를 수정하니 에러가 발생하지 않았다.
자바스크립트: Invalid shorthand property initializer 에러 VueJs 공부를 하던 중 다음과 같은 에러가 발생하면서 코드가 제대로 동작하지 않았다. 원인을 찾아보니, 다음 코드가 원인이었다. var vm = new Vue({ ... methods = { showPersonInfo: function (person){ alert(person.name) } } ... }).$mount('#app') 구조체 객체를 만들 때, 속성에 값을 대입하기 위해서는 '='가 아니라 ':'를 사용해야한다. 다음과 같은 코드를 사용하면 에러가 나는 것이다. // 에러 코드 var myObject = { property = 'value' } // 정상 코드 var myObject = { property: 'value' } 결국 문제의 코드를 다음과 같이 수정하여 에러를 해결하였다.
[알고리즘] SW Expert Academy 10033. 카드 뒤집기 문제풀이(사고의 흐름) 문제를 보고 처음에는 어떻게 풀어야할지 바로 감이 오지 않았다. 문자열과 문자열을 바꿀수 있는 동작을 주고, 동작이 최대 몇번 수행되어야 하는지 조건이 주어졌지만, 바로 풀이 코드가 떠오르지 않았다. 이런 상황에서는 샘플을 만들고 이를 조건대로 수행하며 법칙을 찾아내는 편이다. 그래서 예제 문자열을 조건에 따라 동작을 수행하여 보았다. BWBWBW // 시작 문자열 WBBWBW // 동작수행 1 WBWBBW // 동작수행 2 WWBBBW // 동작수행 3 WWBBWB // 동작수행 4 WWBWBB // 동작수행 5 WWWBBB // 동작수행 6 이렇게 샘플을 한번 돌려보니, 바로 직감이 떠올랐다. "모든 수행의 끝에는 결국 모든 W는 왼쪽으로 가고, 모든 B는 오른쪽으로 가는구나!..