https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도도 낮은 문제에, 월간 문제(코테)에 2번 문제로 나온 문제이다. 문제를 읽어보면, 이진수 비트 연산에 관한 문제로 파악할 수 있다. 하지만 문제를 바로 알 수 있을까? 다른 방법으로는 생각할 수는 있지 않을까? 나는 2가지 접근 방법이 있었을 것 같다고 생각한다. 1. 찾는 방법 2. 만드는 방법 무식하게 찾는 방법은 꽤나 오래 걸린다. 그렇기 때문에 결국 이진수 비트 연산 방법으로 풀어야..
https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 먼저 문제를 읽었을 때, 각 구간의 값을 구하면 되겠다는 생각을 하게 되었다. 그래서 아래처럼 구하려고 했다. 구간 값에 현재 값을 더해서 구하는 방식 [ 1 2 3 4 5 ], k = 7 1 2 3 4 5 3 5 9 12 6 10 15 ... 시간 초과가 발생했다. 어디가 느릴까? 작성한 예시에서 보면 삼각형을 형태를 이루어지는 것을 볼 수 있다. for문 2개로 O(n2)의 시간 복잡도를 가..
개정 6판까지 나와, 길벗출판사에서 개정판 서평 이벤트를 하게 되어 읽게 되었다. 평소 유니티나 언리얼 엔진과 같은 게임 제작에 대해 관심이 있었으나, 게임 제작은 코드보다 제작 툴을 다룬다는 느낌이 커서 어려웠었다. 큰 총 평은 이 책은 툴을 다르는데 있어 쉽긴 한데 부족하다였다. 왜냐하면 전반적인 내용들이 정말 쉽고 쉬운 설명들로 가득했다. 특히 2D로 만드는 룰렛판의 경우, 사용하는 언어와 툴은 다르지만 웹 사이트로 만드는 룰렛과 정말 비슷하고 똑같다는 생각이 들었다. 유니티를 처음 보는 데도 정말 쉽다. 하지만 부족하다라는 생각이 잊혀지지가 않았다. 왜 부족할까? 먼저 이 책을 읽고 싶은 사람은 게임을 만들고 싶은 사람일 텐데 게임을 만드는 데 부족한 지식이 많다. 유니티 교과서라 유니티만 다루고..
문제는 간단하다. 아래 지문을 그대로 구현만 하면 된다. LZW 압축은 다음 과정을 거친다. 길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. 사전에서 현재 입력과 일치하는 가장 긴 문자열 w를 찾는다. w에 해당하는 사전의 색인 번호를 출력하고, 입력에서 w를 제거한다. 입력에서 처리되지 않은 다음 글자가 남아있다면(c), w+c에 해당하는 단어를 사전에 등록한다. 단계 2로 돌아간다. 단순히 쉽지만, C++ String을 쓰면서 깨달았던 점을 정리하기 위해 글을 작성한다. 1. Char to String String으로 변환할 때 단순하게 암묵적 변환을 쓰면 해당 글자에 해당하는 아스키 코드의 숫자가 들어간다. 그리고 명시적으로 변환한다고 한들 제대로 되지 않으니, String 변수를 하나 선언..
헷갈렸던 부분 1. 배열의 size 고려 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다. 해당 조건을 고려하기 위해서는 배열의 크기를 제대로 인지하고 있어야 하는데 매번 문제 풀 때마다 이 부분이 악취가 나는 부분이었습니다. size()는 배열이 3칸이면 2를 반환하는 것이 아닌 3을 반환한다. 즉 index는 0부터 시작함으로 우리가 조건을 확인할 때 -1을 하거나 =으로 확인해줘야 한다. Q. 인지의 오류를 줄일 수 있는 방법은 없을까? 애초에 w와 h에 -1을 하고 =을 사용하면 조금 더 인지적 오류 없이 사용하기 좋을 것 같다는 생각이 드네요. int h = park.size() - 1; int w = park[0].size() - 1; for(int i=0; i
Insert한 데이터의 값을 바로 가져오고 싶을 때 유용한 문법이 있다. selectKey다. 해당 문법을 사용하면 되는데 기존 값 방법과 반대 방향으로 흘러가 인지적 오류가 발생하는 것 같아 글을 쓴다. 보통 마이바티스로 값을 가져올 때 Select를 이용하고 해당 값을 resultType에 타입을 명시해서 값을 반환한다. 하지만 Insert 시 반환된 값은 정해져있다. 내가 Insert 한 데이터의 수다. 이미 반환하는 값이 있기에 selectKey를 쓴다고 반환되는 값이 바뀌지 않는다. 그럼 어떻게 받는가? 내가 parameter로 넘긴 데이터에 꽂혀 반환된다.
타임리프를 사용하다보면 자바 컨트롤러에서 던져주는 model 객체 내 값들을 JS에서 쓰고 싶은 욕구가 생긴다. 왜냐하면 Js에서 어떤 작업을 해야 하는데 필요한 값들이 페이지 내에 존재하는 경우가 많고, 이를 HTML 태그에서 갈무리를 해서 써야 한다. 그러면 document나 Jquery를 이용해서 HTML 내에 값을 가져와서 사용한다. HTML 내 태그에 값을 숨겨 놓고 그것을 가져다 쓰는 작업이 꽤나 귀찮다. 애초에 JS 변수 내에 값이 있으면 해결되는 문제가 아닐까? 그렇게 하는 방법이 있다. package com.example.kg; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; imp..