분류 전체보기

    [삼성 코테] 뱀

    문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다. 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다. 만약 이동한 칸에 사과가 없다면, 몸길이를 줄여서 꼬리가 위치한 칸을 비워준다. 즉, 몸길이는 변하지 않는..

    2021.01.14 (목)

    구현파트 몇문제 더 풀기 스프링 강의 1파트 codeTest * snakeGame (Dummy) : 2시간정도 걸림.. -> 블로그 정리 완료 * 기둥과 보 : 1시간 풀고 남겨 둠 -> (답보고) 다품 구현 아이디어는 답과 동일했지만 파이썬 문법에서 list 활용을 너무 못해서 코드가 복잡해진 탓에 답을 맞추지 못했다. list.remove(), for 문 돌리는 방식도 체득했으니 다음 문제에 다 적용시켜서 풀어보자 spring * 빈 생명주기 콜백 시작 애플리케이션 시작시점에 미리 연결해두고 종료시점에 모두 종료해야 하는 작업들이 존재한다. (데이터베이스 커넥션 풀, 네트워크 소켓 등등) 그래서 스프링을 통해 시작시점시 초기화작업, 종료시점시 종료작업을 진행하는 방법이 필요 - 스프링 빈의 전체적인 ..

    [카카오코테] 자물쇠와 열쇠

    문제 설명 고고학자인 튜브는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각 격자 형태로 되어 있습니다. 자물쇠에는 홈이 파여 있고 열쇠 또한 홈과 돌기 부분이 있습니다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 여는 데 ..

    2021.01.13 (수)

    스프링강의 구현파트 문제 다 풀기 spring keyword * lombok - @RequiredArgsConstructor : final 붙은 변수들 가지고 생성자 만들어줌 * 조회 대상 빈이 2개 이상일때 (FixdiscountPolicy, RatediscountPolicy) 해결방법 3가지 - @Autowired 필드 명 매칭 parameter나 변수명에 그냥 쓰고싶은 빈 이름을 적어주면 빈이 2개 이상일 때 그 이름으로 매칭한다. ex) DiscountPolicy discountPolicy 대신에 DiscountPolicy RateDiscountPolicy - @Qualifier 등록 등록시키고 싶은 빈에 @Qualifier("mainDiscountPolicy) 같이 원하는 이름 붙여주고 사용 시..

    [카카오코테] 문자열 압축

    문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 aabbaccc의 경우 2a2ba3c(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, abcabcdede와 같은 문자열은 전혀 압축되지 않습니다. 어피치는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라서 압축하여 더 ..

    2021.01.12 (화)

    카카오 코테 문자열압축 풀고 블로그에 정리 o 스프링 강의 구현파트 몇문제 더 풀기 x 간이과세자 부가세신고 알아보기 -> 매출계산방법 spring keyword lombok : java에 자동으로 method들을 만들어줌

    2021.01.11 (월)

    계획 스프링 강의 0.5파트 듣기. 0.5파트 안에서 각 목차별로 키워드등 중요한 내용 몇문장 요약으로 적어놓기 코테 구현파트 안풀렸던 문제 해결하고 시간 되는대로 문제 풀기 키워드정리 * 다양한 의존관계 주입 방법 - 생성자주입 : 딱 1번만, 불변, 필수일때 꼭 사용하기 - 생성자 1개일때 @Autowired 생략 가능 - 수정자주입 : 변경 가능하게 할때 스프링 컨테이너 생성과정은 생성, 의존관계주입 2가지 존재. 생성자 주입은 생성하면서 동시에 의존관계가 주입됨. 근데 수정자주입에 @Autowired가 붙어있으면 의존관계 주입 시간에 주입됨. * 옵션처리 @Autowired(required = true) : 기본값 @Autowired(required = false) : 자동주입시 bean이 아닐경..

    2021.01.09 (토)

    아침일찍 코로나검사받고와서 쉬다가 벌써 5시돼버림 어차피 주말에는 코테나 스프링 둘중 하나씩만 하기로 했으니 오늘은 코테 구현부분 몇문제 풀어봐야겠다.

    [카카오코테] 무지의 먹방 라이브

    문제 설명 무지의 먹방 라이브 * 효율성 테스트에 부분 점수가 있는 문제입니다. 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내고 싶어 졌고 고민 끝에 카카오 TV 라이브로 방송을 하기로 마음먹었다. 그냥 먹방을 하면 다른 방송과 차별성이 없기 때문에 무지는 아래와 같이 독특한 방식을 생각해냈다. 회전판에 먹어야 할 N 개의 음식이 있다. 각 음식에는 1부터 N 까지 번호가 붙어있으며, 각 음식을 섭취하는데 일정 시간이 소요된다. 무지는 다음과 같은 방법으로 음식을 섭취한다. 무지는 1번 음식부터 먹기 시작하며, 회전판은 번호가 증가하는 순서대로 음식을 무지 앞으로 가져다 놓는다. 마지막 번호의 음식을 섭취한 후에는 회전판에 의해 다시 1번 음식이 무지 앞으로 온다. 무지는 음식 하나를 1초 동안 섭취한 ..

    2021.01.08 (금)

    현재 시각 : 오후 4시 형과 사업이야기 하고 오후 3시에 스터디 카페로 출발. 스터디카페는 9시까지 하니 남은 공부시간은 4시간 + @ 오늘 목표 지금까지 푼 greedy문제들 정리.(2시간) 스프링 강의 1파트 (2시간) * Key words 빈 컨테이너 싱글톤 @Configuration : 없으면 싱글톤 보장 x @ComponentScan : @Component : 자동으로 bean에 등록해줌 그런데 이것만 등록하면 의존관계를 모름. 원래는 AppConfig에서 지정해줬었음. @Autowired : 그래서 autowired사용하면 해당하는 타입을 자동으로 의존관계를 맺어줌 greedy 문제중 가장 난이도가 있던 무지의 먹방라이브만 풀이과정을 복기하며 블로그에 정리함