728x90
반응형

2021.08.20

문제명 : 연습문제 - 서울에서 김서방 찾기

사용언어 : Kotiln

개발 시간 : 10분

 

 

코딩테스트 연습 - 서울에서 김서방 찾기

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니

programmers.co.kr

 

📋 문제 설명

'Kim'이 들어있는 인덱스 구하는 문제입니다

 

🔑 문제 풀이

class Solution {
    fun solution(seoul: Array<String>): String {
        var answer = ""
        
        // 1.
        seoul.forEachIndexed{ index, value ->
            if(value == "Kim"){
                answer = "김서방은 ${index}에 있다"
            }
        }
        
        // 2.
        for(i in seoul.indices) {
            if(seoul[i].equals("Kim")) answer = "김서방은 ${i}에 있다"
        }        
        
        return answer
    }
}

 

🔔 새로 알게 된 점

// 값

for(i in seoul){

  println(i)     

}

Jane
Kim

 

// 인덱스

for(i in seoul.indices){

  println(i)     

}

0
1

 

728x90
반응형
728x90
반응형

 

2021.08.17

문제명 : 2021 KAKAO BLIND RECRUITMENT 순위 검색

사용언어 : Javascript

개발 시간 : 120분 + 다른 사람 풀이 60분

 

 

코딩테스트 연습 - 순위 검색

["java backend junior pizza 150","python frontend senior chicken 210","python frontend senior chicken 150","cpp backend senior pizza 260","java backend junior chicken 80","python backend senior chicken 50"] ["java and backend and junior and pizza 100","pyt

programmers.co.kr

 

📋 문제 설명

이 문제의 핵심은 조합이분탐색입니다.

주어진 info 배열이 가질 수 있는 조합을 모두 구하고

이분탐색을 이용해 query 배열의 조건에 맞는 갯수를 구하는 것입니다.

 


이분 탐색의 간단한 예시를 먼저 보고 갑시다.

 

1 2 3 4 5 6라는 값에서 6을 찾고자 한다면

 

배열의 중간에 위치한 3이라는 값과 6을 비교합니다.

 

6은 3보다 크므로, 이제 3의 왼쪽에 위치하는 값들은 탐색할 필요가 없으므로

(어차피 3 왼쪽에 있는 수들은 3보다 작기 때문입니다)

 

3의 오른쪽에 있는 값들을 대상으로 탐색을 다시 시도합니다.

 

이제 4 5 6이 남았으므로, 다시 중간값인 5와 찾고자 하는 대상인 6를 비교합니다.

 

6은 5보다 크므로, 5의 오른쪽에 있는 값들을 대상으로만 탐색을 다시 시도합니다.

 

이제 6만이 남았는데 6과 6을 비교하면, 값이 일치하므로 탐색을 종료합니다.


출처: https://satisfactoryplace.tistory.com/39

 


 

우선 조합을 통해서 - 를 다 넣어줍니다.

 

예를 들어, 

java backend junior pizza 150 이 입력으로 들어왔다고 칩시다. 

 

- backend junior pizza 150

java   -  junior pizza 150

java backend - pizza 150

java backend junior - 150

.

.

.

- - - - 150 

이런식으로 -를 넣을 수 있는 곳을 조합으로 찾아 모두다 150을 넣어줍니다.

 

출처 : https://dkwjdi.tistory.com/224


 

📢 입출력 예

 

🔑 문제 풀이

// 정확성 테스트 success
// 효율성 테스트 success
function solution(info, query) {
    var answer = [];
    let map = {};
    
    function combination(infos, score, map, start){
        let key = infos.join("");  // 키 값으로 쓸거 합쳐주기
        let value = map[key];      // 값 있는지 없는지 확인해주기
    
        if(value){ // 값이 있으면 push
            map[key].push(score);
        }else{ // 값이 없으면 프로퍼티 만들어주기
            map[key] = [score];
        }
        
        // -를 이용해 조합 만들기
        for(let i=start; i<infos.length; i++){
            let combiArr = [...infos]; // 전개연산자 ...
            combiArr[i] = '-';
            
            combination(combiArr, score, map, i+1);
        }
    }
    
    
    // 이분탐색
    function binarySearch(map2, key2, score2){
        let scoreArr = map2[key2];
       
        if(scoreArr){
       
            var start = 0;
            var end = scoreArr.length;
            
            while(start < end){
                var mid = Math.floor((start+end)/2);
                
                if(scoreArr[mid] >= score2){ // 현재 가르키는 값보다 내가 찾는 값이
                    end = mid;
                }else if(scoreArr[mid] < score2){
                    start = mid + 1;
                }
            }
            
            return scoreArr.length - start;
        }
        else return 0
        
    }
    
    
    
    // 1. -로 가능한 모든 조합 만들기
    for(let i=0; i<info.length; i++){
        let infos = info[i].split(" ");
        let score = infos.pop();
        
        combination(infos, score, map, 0);
    }
    
    // 2. 이분탐색을 위해 정렬
    for(let key in map){
        map[key].sort((o1, o2) => o1 - o2);
    }
    
    // 3. 이분탐색 실행
    for(let i=0; i<query.length; i++){
        let querys = query[i].replace(/ and /g, "").split(" ");
        let score = Number(querys.pop());
      
        answer.push(binarySearch(map, querys.join(""), score));
    }
    
    return answer;
}

 

// 정확성 테스트 success
// 효율성 테스트 fail
function solution(info, query) {
    var answer = [];
    var arr1 = [];
    var arr2 = [];
    
    for(var i=0; i<info.length; i++){
        arr1.push(info[i].split(' '));
    }
    for(var i=0; i<query.length; i++){
        arr2.push(query[i].replace(/and /gi,'').split(' '));
    }
    
    
    for(var i=0; i<arr2.length; i++){
        var cnt = 0;
        for(var j=0; j<arr1.length; j++){
            for(var k=0; k<4; k++){   
                if(arr2[i][k] == arr1[j][k] || arr2[i][k] == '-'){
                    if(k==3 && arr2[i][4]*1 <= arr1[j][4]*1){
                        cnt++;
                    }
                }else{
                    break;
                }
            }
        }
        answer.push(cnt);
    }
    return answer;
}

 

🔔 새로 알게 된 점

2단계가 맞나 싶을 정도로 난이도가 높게 느껴졌다.

첫 시도때는 점수를 제외한 조건들만 차례대로 비교하면서 충족할 경우에만 점수를 비교하였다.

이렇게 풀면 정답이긴 하나, 효율성 테스트에서 fail이 뜬다.

for문이 중첩되면서 타임아웃 에러가 나는 듯 하다.

 

다른 사람의 풀이를 참조하니 이분탐색을 이용하지 않으면 통과할 수 없는 문제같다.

조합, 이분탐색, 프로퍼티 등을 공부하고 알고리즘을 이해하는 것이 중요할 듯 하다.

 

프로퍼티 관련 : https://opentutorials.org/module/3989/26100

 

 

 

728x90
반응형
728x90
반응형
 

신당역 맛집 연해장 곱창전골

주말이면 거의 안양을 갔는데 안양 지겨워서 다른데 가보기로 함 일주일 전부터 찬희가 맛집 찾겠다고 딱 기다리래서 딱 기다림😐 살짝 걱정이 됐지만 예쁜 가게를 찾아와서 좀 놀람 매일 16:00

mofari.tistory.com

 

연해장에서 이른 저녁을 먹고 나니

6시쯤되서

황학동을 좀 걸으려 했는데

날씨가 더워서

카페를 들어갈 수밖에 없었어요..

 

 

제가 간 곳은 연해장에서

도보 10분 거리에 있는

원써드라는 카페를 갔습니당!

 

 

 

 

매일 11:00 ~ 21:00

 

 

삼분의 일 커피와 아메리카노 주문!

아메리카노는 원두를 선택할 수 있어요

저는 45스케일로 했습니당

65스케일은 산미가 나는 원두라고 하셨어요!

 

 

반응형

저녁식사 시간이라 그런지

사람들이 모두 빠진 상태였어요!

 

 

카페 내 가구들은

사장님께서 직접 황학동 내의

중고제품들을 큐레이션한 후

아트워킹한 물건들이라고 해요! 

카페에 있는 그릇, 컵, 의자는 판매도 한다 하네요

 

삼분의 일 커피 5,500원

아메리카노 4,500원

 

삼분의 일 커피는 섞지 말고

순서대로 마시라고 하셨어요

율무 맛과 우유, 커피까지!

되게 고소하고 조화로운 맛이었어요

 

집 근처 카페에서도 팔면

종종 마실 것 같아요!

 

 

728x90

나올 때 찍은 카페 외관이에요!

 

 

 

청계천이 가까이 있어서 가는 길에 들렸어요

 

뜬금없이 학 봤어요

 

 

좀 걷다 보니까

지하철역 4정거장을 걸었더라구요

3키로나 걸었으니까

오늘 먹은 것 무죄😋

 

 

 

728x90
반응형
728x90
반응형


주말이면 거의 안양을 갔는데
안양 지겨워서 다른데 가보기로 함
일주일 전부터 찬희가 맛집 찾겠다고
딱 기다리래서 딱 기다림😐
살짝 걱정이 됐지만
예쁜 가게를 찾아와서 좀 놀람

 


매일 16:00 ~ 00:00
매주 월요일 휴무

 

 

가게 외관부터 예뿌다
일요일이고 광복절이라
웨이팅이 있을까 싶어서
3시 40분쯤 갔는데
첫 손님이었어요😅


4시부터 영업이라
20분 정도 기다려야 했는데
가게 안쪽에 대기석이 마련되어 있어서
덥지 않게 기다릴 수 있어서 좋았어요

 

 

가게 내부는 예쁜 카페같이 꾸며져 있어요!
큰 둥근 테이블 한 개랑
네모 테이블 6~7개 정도 있어요


 

내장 매니아인 전,
연해장이라는 말이 아주 좋더라구요😎
'돼지 내장으로 잔치를 열다'

 


쨋든 둘이서 우선
돼지곱창전골 2~3人묵은지말이 주문!

돼지곱창전골 2~3人 25,000원


곱창전골 너무 오랜만이라 행복💛
위에는 마늘깻잎이 수북


728x90

곱창도 많고, 안에 당면도 있습니당!
사장님께서 끓일수록 맛있다고 하셨는데,
맞아요!! 끓일수록 더 맛있어요!!
개인적으로 깻잎이 많아서
향이 너무 좋았어요!


 

묵은지말이 5,000원

요놈이 별미 중에 별미!
위에도 깨가 뿌려져 있지만
밥에도 깨가 섞여있어서
그냥 먹어도 엄청 고소하고 맛있어요!!
곱창전골 국물에 살짝 찍어서
꼭 전골 안에 깻잎이랑 먹어보세요!
깨 향과 깻잎 향에 미쵸버림👍

 

 

반응형

오래 참아온 내 금주를 해제시켜버리다니..
술 먹으니 밥이 또 땡겨버려서
볶음밥도 시켰어요🐷


 

묵은지곱창 볶음밥 9,000원


시키기 전에는
볶음밥이 뭐 이리 비싸지 했는데
메뉴가 나오니 이해가 갔어요

남은 곱창전골 국물이랑
비벼주는 줄 알았는데,
주방에서 새로 곱창 넣고 볶아서
가져다주시더라구요
맛있게 잘 먹었슴당😊


화장실은 남녀 분리로 내부에 있고
매우 깔끔합니당
손잡이가 뻑뻑해서 못 들어가고 있어서
사장님이 도와주셨지만ㅎㅎ;

내돈내산 후기였습니다


728x90
반응형
728x90
반응형

 

광복절 대체공휴일이 생기면서 시작된 연휴 첫날

아점으로 배떡 로제 떡볶이 주문🐷

 

 

 

쿠팡 이츠로 주문하니 30분 걸린다했는데

15분 만에 왔다

 

로제 떡볶이 1~2인분 9,000원

+ 중국 당면 3,000원

+ 비엔나 1,000원

미니 고추 2,000원

 

최소 주문 금액 맞추려다 보니

양이 많아졌다ㅎㅎ

떡은 '밀떡' 맵기는 '매운맛'

전에 매콤한 맛으로 먹어봤는데

로제 맛 때문인지 별로 안 맵길래

매운맛으로 주문해봄

매운맛도 많이 맵지는 않았다

난 오히려 매운맛이 매콤한 맛 정도 같았음!

 

미니 고추는 사진은 못 찍었는데

다진 고기가 들어있어서 맛있음

추천👍

 

 

 

한 달에 떡볶이 한 번만 먹기로 다짐했는데

이번 달만 두 번 먹어버렸다

 

 

최소한의 양심 챙기고자

저녁에 집 근처 (동)산에 감

 

 

 

저녁 6시 반쯤 올라가기 시작해서

사람은 거의 없었다

 

초입부터 해가 지고 있어서

얼른 올라감

 

 

서울과 부천 경계에 있는

까치울 터널 위에서 찍은 해질녘

이젠 저녁대가 되면 선선해져서

땀이 많이 나진 않았음!

곧 있으면 해가 질 거 같아서

국기봉까진 안 가고 하산

 

 

거의 다 내려와서 보니

달이 떠있었다

 

오늘 먹은 떡볶이 반만이라도

칼로리 소모됐기를..⭐

728x90
반응형
728x90
반응형

 

 

[출처 : Code with Joyce 유튜브]
기한 강의
~ 2021.07.18 1편 (기본 문법)
~ 2021.07.25 2편 (고급 문법)
~ 2021.08.01 3편 (심리테스트 앱 만들기)

 

728x90
반응형
728x90
반응형

 

오늘은 말복 몸보신을 위해 닭한마리 집을 갔어요!

사실 오늘이 말복인지도 모르고 있었지만 ㅎㅎ;

 

 

 

 

 

매일 14:00 ~ 23:00

 

 

저는 둘이서 한마리 옹심이 사리 추가했어요!

가운데 선을 기준으로

왼쪽 사리는 닭한마리 메뉴

오른쪽 사리는 닭볶음탕 메뉴예요

 

 

 

닭한마리 23,000원

옹심이 2,000원

 

소스에 넣는 부추랑 양배추를 주시고

김치랑 청양고추가 나와요

닭은 5분 정도 더 끓여먹으면 된대요!

 

 

 

끓는 동안 사장님께서 앞접시에

을 먼저 먹어보라고 건져주셨어요

떡이 정말 말랑말랑해요 : )

 

 

 

 

반응형

 

전 빨간 양념 요리들에 손이 더 가는 편이라

흰 국물인 닭한마리는 처음 먹어봐요!

두근두근💛

 

 

팔팔 끓는 중

 

728x90

닭다리를 부추랑 양배추를 넣은 양념에 찍어 먹어봤어요!

소스는 시큼한 향이 나더라구요

향이 센 편이라 호불호가 있을 것 같아요

양념소스 맛으로 먹는 것 같은데 저는 잘,,,

국물은 맑은 삼계탕 맛이에요

닭이 부드럽게 뜯기진 않아서

먹기는 살짝 힘들었어요ㅠㅠ

 

 

 

귀여운 옹심이

쫀득쫀득하고 만두소 같은 게 들어있어요

추가해서 드셔 보세요!

맛있어요👍

 

 

 

볶음밥을 추가하려 했는데

볶음밥은 닭볶음탕 주문 시에만 가능하더라구요!

닭한마리는 으로 주문하면 돼요!

 

 

밥을 넣고 끓이다가

사장님께서 계란과 김가루를 넣고

비벼주세요

금팔찌 사장님의 손목 스냅 굳굳👍

 

 

 

죽 2,000원

 

전 배불러도 밥으로 마무리해주지 않으면

뭔가 부족하더라구요 헤헿

저는 죽이 제일 맛있더라구요!

닭 뜯어먹기가 너무 힘들었나..

이제야 술 생각이 났지만 패스~

 


화장실은 가보진 않았지만

내부에 있었어요!

아! 메뉴는 포장도 된다고 하니

가까운 곳에 사시는 분이라면

포장해서 드셔 봐도 좋을 것 같아요


 

 

내돈내산 후기였습니다

728x90
반응형
728x90
반응형

 

 

 

익선동 맛집 오죽이네 닭매운탕

오늘은 오랜만에 친구들을 만나 익선동 오죽이네를 갔어요! 최근에 신관이 생겼다는 소식을 듣고 신관으로 갔어요😎 5번 출구로 나와 낙원상가쪽으로 건너와서 5분 정도 걸어가면 나와요 본관

mofari.tistory.com

 

점심에 오죽이네를 배불리 먹어서

카페 가기 전에 익선동 골목을 좀 걸었어요 : )

 

 

 

 

 

 

예쁜 가게들이 많아서 보는 재미 룰루😝

친구들이 블로그에 이런 거 올려줘야한다구

안 들어간 가게들 사진까지 대신 찍어줌 ㅎㅎ;;

예쁘면 찍고 보는 친구들🤣

이제 카페로 고고!

 

 

 

 

 

저희 간 카페는 시그니처알이라는 곳이에요!

원래 가려던 카페는 사람이 너무 많아서

코시국에 부담스럽다구요

더워서 가까운 곳으로 얼떨결에 들어왔는데

넘 좋았어요!

 

 

 

예쁜 간판

 

 

 

영업시간

매일 10:30~22:00

 

 

 

입구 쪽에 포토존이 있고

사진에 왼쪽 부분과 오른쪽 부분으로

좌석이 나뉘어 있어요!

 

 

 

디저트는 레어 치즈 케이크, 우유 케이크 두 개뿐입니다!

저희는 아아 레어 치즈 케이크 주문!

🐷배부르지만 디저트 배는 따로🐷

 

 

 

주책바가지 친구들이 진동벨 귀엽다고 찍으라 함

 

 

 

반응형

아이스 아메리카노 5,000원

레어 치즈 케이크 7,000원

 

밖에서 땀 흘리다 아아 먹으니 꿀맛...👍

케이크는 치즈는 꾸덕꾸덕

쿠키 크럼은 바삭쫀득

맛있어용!

 

 

카페 화장실은 내부에 있고

남녀 분리되어있고 깨끗해요!

 

 

 

카페에서 놀다가 사진 찍으러 갔어요!

인생네컷만 가봤었는데

포토이즘이 있어서 요기로!

카페에서 걸어서 2분!

 

 

 

엉망이지만 잘 나온 척 올려봅니당ㅎㅎ

 

 

내돈내산 후기였습니다

728x90
반응형
728x90
반응형


오늘은 오랜만에 친구들을 만나
익선동 오죽이네를 갔어요!
최근에 신관이 생겼다는 소식을 듣고
신관으로 갔어요😎

5번 출구로 나와서
낙원상가쪽으로 건너와서
5분 정도 걸어가면 나와요

 

 

 

본관에서 걸어서 5분정도 거리로 가깝더라구요



오죽이네 신관

평일 11:30 ~ 22:00
(Break Time 15:00 ~ 16:00, 주말은 없음)
주말 12:00 ~ 22:00


 

저희는 12시 40분쯤 도착해서
사람이 많진 않았어요
사진 우측으로도 자리가 더 있어요!


 

저희는 여자 세 명이서
소자에 떡사리를 추가했어요!

 

728x90

🐷닭매운탕 나오기 전까지 정독하기🐷
⭐5번 중요⭐



 

닭매운탕 소(小) 25,000원
떡사리 1,000원

 


기본으로 감자, 양파, 대파가 들어있어요
닭매운탕이라 국물이 많아요!
국물이 텁텁하지 않고 시원해요👍
술 먹으면서 바로 해장까지 될 것 같은 시원함!!
(다음엔 쏘주랑 먹으러 올거예요😏)
닭가슴살 부분도 부드러워서
부담 없이 먹을 수 있어요




 

반응형

 

사리로 넣은 떡은 짧뚱떡!
같이 먹은 친구들도
떡 맛있다구 두 번 추가해서 먹었어요ㅎㅎ
떡은 10~15개 정도 주시는 것 같아요!

 

 

 

볶음밥 3,000원


배불러도 볶음밥은 포기 못해😎
볶음밥 좀 먹어본 사람이라면
앞접시에 국물 덜어두는 센스👍
밥을 국물에 살짝 찍어먹으면 더 맛있어요!


본관이 신관보다 쾌적하고 깔끔한 느낌이라서
앞으로는 신관으로 갈 것 같아요!
화장실도 내부에 있고 깨끗! 중요⭐
(그럼 저는 2차 디저트 먹으러 총총..!)
카페 후기도 구경오세요 : )


 

 

익선동 카페 시그니처알

익선동 맛집 오죽이네 닭매운탕 오늘은 오랜만에 친구들을 만나 익선동 오죽이네를 갔어요! 최근에 신관이 생겼다는 소식을 듣고 신관으로 갔어요😎 5번 출구로 나와 낙원상가쪽으로 건너와서

mofari.tistory.com

 



내돈내산 후기였습니다

 

 


 

 

 

728x90
반응형
728x90
반응형

지난 주말 안양역 저의 사케동 최애 맛집 마쯔를 다녀왔습니당

 

 

매일 11:30 ~ 20:30

Break Time 15:30 ~ 17:00

 

 

 

 

 

 

12시쯤 도착해서 첫 손님인 줄 알았는데 이미 두 팀이 있었어요

좌석은 8명 정도가 앉을 수 있던 것 같아요!

저는 아나고 텐동을 주문했습니당!

 

텐동 준비 중이신 사장님😀

사장님께서 손을 자주자주 씻으셔서 안심하고 먹을 수 있어요!

준비되는 동안 배달 알림도 많이 오더라구요!

 

 

반응형

아나고 텐동 (10,000원)

주문한 아나고 텐동이 나왔습니당!! 🐷🐷

밥이 안보일만큼 많이 쌓여있는 튀김들은 사랑입니다💛

 

 

순서대로 깻잎, 연근, 단호박, 아나고(붕장어), 꽈리고추예요

아나고가 정말 크고 맛나요!

다른 텐동집도 가봤지만

여기처럼 바삭한 식감내는곳이 없더라구요!

아! 밥과 간장소스는 부족하다고 말씀하시면 더 주신답니당

항상 사케동만 먹었었는데 아나고 텐동도 맛있어요ㅠㅠ!!

다음 방문 때는 아나고 새우 텐동 먹어볼게요!

 

 

내돈내산 후기였습니다 

728x90
반응형

+ Recent posts