반응형

안녕하세요 Jin's 입니다.

 

오늘의 코딩테스트 문제는 해시 중 전화번호 목록에 대한 문제 풀이 입니다.

 

 

해당 문제는 startWith을 사용하여 접두사를 찾았습니다.

순서에 상관없이 접두사를 찾아야했기 때문에 반대로 순서를 주어서도 찾았습니다.

" phone_book[i].startsWith(phone_book[j]) || phone_book[j].startsWith(phone_book[i]) "

 

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        for(int i=0; i<phone_book.length;i++){
			for(int j=i+1; j<phone_book.length;j++){
				if(phone_book[i].startsWith(phone_book[j]) || phone_book[j].startsWith(phone_book[i])){
					return false;
				}
			}
		}
        return answer;
    }
}

 

 

여러분도 한번 풀어보세요~

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

[ 3일차 일정 ]
섭지코지 - 오르다카페 - 갯동산평대바당국수 - 르토아 베이스먼트 - 혜원책방 - 오저여

 

1. 섭지코지

날씨도 풍경도 너무 예뻤던 섭지코지입니다.

뚜벅이는 절때 버스타고 가지 말고 택시를 이용하는 것을 추천드립니다.

버스정류장과 섭지코지 입구는 엄청난 거리로 절때 걸어갈만한 거리가 아니에요ㅠㅠ

 

2. 오르다카페

섭지코지를 구경한 후 추억의 성산일출봉을 구경하러 카페로 향했습니다ㅎㅎ

너무 더웠던 여름이여서 성산일출봉이 잘 보이는 카페를 찾다가 가게되었어요

제가 갔을 때는 리모델링 공사중이였는데 지금은 얼마나 더 이쁘게 되어있을지 궁금하네요!

 

3. 갯동산평대바당국수

고기국수가 너무 맛있던 기억에 게스트하우스 사람들과 돔베고기 추가로 시켜먹으려고 다시 방문했지만..

고기가 떨어져서 국수밖에 안된다는 슬픈 소식을 들었습니다.

이번엔 비빔국수로 먹었는데 비빔국수도 너무 맛있었어요.

 

 

4. 르토아 베이스먼트

갯동산평대바당국수집 바로 옆에 이뻐보이는 카페에서 망고아이스크림을 먹었습니다. 후식은 필수죠!!

 

5. 혜원책방

국수집 근처의 무인책방인데 규모도 작고, 내부 분위기가 아늑해서 혼자 구경하며 잠깐 독서를 했었어요.

제주도에 책방투어도 많이 한다고 하던데 주변에 들를 일이 있으시다면 들려보시는걸 추천드립니다.

 

6. 오저여

마지막으로 숙소로 돌아가기 전 오저여라는 곳에서 일몰을 봤어요.

이 곳은 게스트하우스 스탭분이 추천해준 곳이였는데 버스정류장에서 조금 멀기는 하지만 

갔다온 보람이 있을정도로 너무 이쁜 일몰이였습니다!

 

 

3일차 여행은 이렇게 마무리가 되었습니다.

 

반응형
반응형

[ 2일차 일정 ]
지미봉 일출 - 우도 - 금박돈 - 바다는 안보여요 - 게하 파티

 

0. 지미봉 일출

갈까 말까 고민을 하다가 같은 방 썼던 분의 차를 얻어타고 입구까지 간 뒤 30분도 안걸려서 올라간 지미봉입니다.

지미봉은 3계단 긴 오름 3계단 긴 오름이 반복되서 정말 힘들긴 하지만 올라가서 보이는 우도와 성산일출봉,

흐릿하게 보이는 한라산은 정말 보람차게 만들었습니다.

 

1. 우도로 출발

성산항에서 15분이면 들어가더라구요 생각보다 속도가 빨라요!

 

 

2. 소머리 오름(우도봉?)

처음엔 올라갈까 말까 너무 더워서 고민했지만 올라가서 본 풍경은 이뻤고 말이 방목되어있어

바로 옆에서 구경이 가능했어요

 

 

3. 검멀레해변

지미봉에서 얼마안걸리는 검멀레해변 옆에서 보트 타고 동굴도 가더라구요 저는 그냥 밖에서 해변 구경했어요

 

4. 대니스

검멀레해변 바로 앞에 있었던 카페에 갔는데 뷰가 진짜 좋았어요

시원한 에어컨 바람 속에 보는 아름다운 풍경이였습니다.

 

 

5. 비양도

저는 우도에서 여기가 가장 좋았어요 비양도에서 텐트치고 있는 모습을 보는데 진짜 행복해보이고,

바다를 보는데도 너무 이쁘더라구요 따로 섬이 크게 있는줄 알아서 갈까 말까했지만 가보니 걸어서 5분이면 들어갈

거리에 있어서 놀랐었어요ㅎㅎ

 

 

6. 하고수동 해수욕장

하수고동은 해수욕을 할 수 있는 정말 좋았어요 

앞에 수영하고나서 씼을 수 있는 샤워장이 있는데 2천원이였고 따로 사물함 열쇠같은거 없고, 온수가 나오지 않아

바다보다 추웠어요ㅜㅜ

그래도 바다가 이뻐서 들어가는걸 추천드리고 온수된다는 곳으로 가셔서 편하게 씻는걸 추천드립니다.

 

7. 카페살레 - 땅콩아이스크림

 

 

7. 망루

망루 또한 이뻐서 줄을 서서 사진을 찍는 포인트였습니다. 

 

8. 홍조단괴 해빈 해수욕장

홍조단괴 해변 해수욕장은 모래가 알맹이로 되어있어서 새로운 느낌이였어요.

 

10. 하우 목동항 out

물이 차서 목동항에서 나오게 되었어요.

혹시 모르니 미리 체크하고 돌아다니시는 것을 추천드립니다!

 

11. 금박돈

성산항으로 나오면 금방 갈 수 있는 금박돈에서 고기를 먹었는데 직접 다 구워주시고 먹는 방법을 알려주셔서

좋았어요. 하지만 고기를 덩어리채로 올리기 때문에 시간이 좀 걸린다는 점 참고하세요~

 

12. 바다는 안보여요

당근만 넣고 착즙하셨다는데 왜 이렇게 맜있을까요

블로그 정리하려고 갔었는데 힐링을 얻고 나왔습니다.

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

제주도로 처음 혼자 여행을 시작한 첫째날 일정이에요

혼자 여행도 처음인데다가 찐 뚜벅이 여행을 할 예정이라 걱정이 많이 들었지만 첫날부터 좋은 분들을 많이 만나

많은 이야기를 들을 수 있었던 하루였습니다.

 

 

[ 1일차 일정 ]


제주공항 - 가방을 부탁해 - 갯동산평대바당국수 - 세화해변 - 카페한라산 - 달집게스트하우스 - 소심한책방 - 게하 파티

 

 

0. 제주공항

 

 

1. 가방을 부탁해

저는 14일 동안 쓸 짐(저는 17kg정도였어요)을 들고 왔기 때문에 캐리어를 어디다 맞기고 돌아다니기 부담스러워서

방법을 찾던 중 찾게된 '가방을 부탁해' 입니다.

(내돈내산입니다 의심하지 않으실 정도로 작은 규모의 블로그이지만..ㅎㅎ)

사실 일정만 짜고(약 한달전) 자세히 다시 보지않아 입금을 미리 했어야했다는걸 몰라서 10시 30분 타임을 놓치고

11시 타임으로 사용하게 되었었어요. 그냥 갔다놓고 연락주겠지 했지만 카톡으로 배송조회가 되도록 되어있어

조금 놀랐어요.

 

2. 고기국수

처음으로 방문한 곳은 갯동산평대바당이였습니다!

이 곳은 제 지인이 추천해준 곳인데 버스로 가기 애매한 곳에 있어 버스로 세화해변을 갔다가 다시 위로 올라가는

버스를 타야했어요. 이렇게까지 가야하나 싶었지만 정말 이곳은 찐맛집!! 고기육수 특유의 비린내도 없고,

국수 위의 국수가 진짜 맛있었어요. 그리고 이쁜 뷰를 볼 수 있어서 좋았습니다. 

이 곳은 부부가 운영하시는 것 같은데 그때 그때 면을 삶으시는 것 같아요

그러다 보니 시간이 좀 걸릴 수 있다는 점과 돔베고기가 언제 떨어질 줄 모른다는 점입니다.

저는 2시쯤 방문했는데 그때 다른분들이 시키시려고 할 때 떨어졌다고 말씀하셨어요.

이 점 참고하시면 좋을 것 같네요ㅎㅎ

 

3. 걸어서 이동 중~

여행 첫 시작이라는 패기로 국수집부터 세화해변을 걸어갔는데 이때 벌써 제 피부는 다 타버렸답니다ㅜㅜ

그래도 가면서 풍경을 하나하나 즐길 수 있어서 좋았어요!

 

3-1. 도깨동산

 

3-2. 해안도로 걸어가던 중 만난 귀여운 의자

 

4. 세화해변

세화해변에서 가장 유명한 포토존인거 같아요

정말 이쁘고 가족단위로 해수욕을 즐기시는 분들을 보는 것 만으로도 힐링이였습니다.

 

5. 카페 한라산

세화해변에서 제일 가보고 싶었던 카페인 카페한라산에서 혼자라서 뻘쭘하게 TV 사진을 어떻게 찍지 고민하고 있었는데

커플분들이 같이 찍고하는데 삼각대로 잘 되지않아서 고민하시는 것을 보고 도와드리면서 사진을 교환하게 되었어요.

그리고 제가 혼자있는 모습을 사장님께서 안쓰러우셨는지 찍어주셔서 정말 감사했었습니다ㅠㅜ

 

6. 소심한책방

세화해변에서 201번을 타고 종달초에서 내려서 숙소 근처를 구경했어요.

입실 시간을 기다릴겸 동네 한바퀴를 돌았었습니다. 정말 작은 마을이라 시골 느낌인데 군데군데 이쁜 카페와

서점이 있어 조용한 여행을 즐기시는 분에게 추천드려요!

 

7. 달집게스트하우스

마지막으로 제가 4일 동안 지낸 게스트하우스 입니다.

저는 이 곳이 유명한지 모르고 조용한데 적당히 사람도 만날 수 있겠다 싶어서 예약을 했었어요

예약은 한달전에 모든 숙소를 정한 상태였기 때문에 이 곳이 예약이 힘든 곳인지를 몰랐었는데

다른 분들은 알고 이 게하의 예약 되는 날을 맞춰 여행 계획을 짜기도 한다고 하네요!

저는 이 곳의 조식도 참 좋았지만 저녁에 열리는 소소한 막걸리 파티가 참 좋았어요

4일 모두 참석하게 됬는데 저빼고 연박자가 안계셔서 항상 새로운 사람들과 만나 그 분들의 이야기를 들으면서

제가 참 좁은 세상에 살았구나를 느꼈습니다. 이곳에서 만난 분들과 부분 동행도 하기도 했어요ㅎㅎ

 

 

이렇게 1일차 일정은 마무리가 되었습니다.

혼자 여행을 한다는게 처음에는 너무 막막했는데 혼자 걸어다니다 보면 생각보다 혼자 오신 분들이 많은거

같아서 놀랐었습니다. 저도 앞으로 혼자 여행을 자주 할 것 같다라는 생각이 많이 드네요! 

 

 

 

반응형
반응형

 

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 수학2 중 직각삼각형 ( 문제 번호 : 4153 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

* 직사각형 공식 z² = x² + y²

 

1) JAVA

import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		while(true){
			ArrayList<Integer> list = new ArrayList<>();
			int x = 0;
			for(int i=0; i<3; i++){
				x = scan.nextInt();
				list.add(x);
			}
			if(x==0) break;

			list.sort(Comparator.naturalOrder());
			
			if(Math.pow(list.get(2), 2)== Math.pow(list.get(0), 2)+Math.pow(list.get(1), 2)){
				System.out.println("right");
			}else{
				System.out.println("wrong");
			}	
		}
		scan.close();
	}

}

 

2) PYTHON

while True:
    t = sorted(list(map(int, input().split())))
    if sum(t) == 0:
        break
    else:
        if t[2] ** 2 == (t[1] ** 2 + t[0] ** 2):
            print('right')
        else:
            print('wrong')

 

여러분도 한번 풀어보세요!

 

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 수학2 중 네 번째 점 ( 문제 번호 : 3009 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.HashMap;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		HashMap<Integer, Integer> x_map = new HashMap<Integer, Integer>();
		HashMap<Integer, Integer> y_map = new HashMap<Integer, Integer>();
		int x = 0;
		int y = 0;
		for(int i=0;i<3;i++){
			x = scan.nextInt();
			y = scan.nextInt();
			x_map.put(x, x_map.getOrDefault(x, 0)+1);
			y_map.put(y, y_map.getOrDefault(y, 0)-1);
		}
		
		for(Integer i : x_map.keySet()){
			if(x_map.get(i)==1){
				x = i;
			}
		}
		
		for(Integer i : y_map.keySet()){
			if(y_map.get(i)==-1){
				y = i;
			}
		}
		
		System.out.println(x+" "+y);
		scan.close();
	}

}

 

2) PYTHON

x_map = [0 for _ in range(3)]
y_map = [0 for _ in range(3)]

for i in range(3):
    x_map[i], y_map[i] = map(int, input().split())

for i in range(3):
    if x_map.count(x_map[i]) == 1:
        x = x_map[i]
    if y_map.count(y_map[i]) == 1:
        y = y_map[i]
print(x, y, end=" ")

 

여러분도 한번 풀어보세요!

 

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

코딩테스트 고득점 Kit 첫 문제 풀이입니다ㅎㅎ

앞으로 일주일에 하나는 꼭 올리려고 노력하겠습니다.

 

오늘의 코딩테스트 문제는 해시 중 완주하지 못한 선수에 대한 문제 풀이 입니다.

 

 

해당 문제는 해시라는 카테고리에 있기 때문에 HashMap을 활용하였습니다.

여기서 HashMap의 getOrDefault를 처음 쓰게 되었습니다.

getOrDefault 대해서 간략히 설명드리면 기존에 해당 키가 존재한다면 1을 없다면 0을 반환해줍니다.

 

제 문제 풀이 중 map.put(p,map.getOrDefault(p,0)+1이라고 사용한 이유는

입출력 예시3) [mislav, stanko, mislav, ana] 의 값으로 값의 변화를 설명드리자면

mislav가 처음 들어왔을경우는 값이 mislav,1

mislav가 두번째 들어왔을경우는 값이 mislav,2 로 들어가게 되고

완주한 선수들의 목록(completion)을 동일한 map에 put하게 되는경우 value를 -1을 해주게 되면

나머지 선수들의 값은 0이 되고 mislav의 값은 1로 남아있게 되어 answer 값이라는 것을 알 수 있게 됩니다.

이러한 개념은 동명이인이 아니더라도 값이 1로 남게 됩니다.

 

import java.util.HashMap;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String,Integer> map = new HashMap<String,Integer>();
        
        for(String p : participant){
        	map.put(p,map.getOrDefault(p, 0)+1);
        }
        
        for(String c: completion){
        	map.put(c,map.get(c)-1);
        }
        
        for(String m : map.keySet()){
        	if(map.get(m) > 0){
            		answer = m;
            	}
	}
        return answer;
    }
}

 

 

여러분도 한번 풀어보세요~

 

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

오늘은 기존에 제가 올리고 있는 백준과 비슷한 프로그래머스의 고득점 Kit에 대해서 설명드리려고 합니다.

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

0. 왜 프로그래머스의 고득점 Kit를 시작하려고 하는지?

자체적 백수에서 벗어나 취준생이 되야하는 날이 점점 다가오고 있어 이번달부터 백준과 번갈아가며 프로그래머스의 고득점 Kit를 풀어보려고 합니다. 물론 코딩테스트를 보지 않는 회사로 지원할 수도 있지만 코딩 공부 겸 좀 더 꼼꼼하게

책점하는 코딩테스트 고득점 Kit을 시작하려구요ㅎㅎ

 

1. 코딩테스트 고득점 Kit는 어떻게 이루어져있는지?

Kit는 해시, 스택/큐, 힙, 정렬, 완전탐색, 탐욕법, 동적계획법, 깊이/너비 우선 탐색, 이분탐색, 그래프로

 36문제로 이루워져있습니다.

 

2. 문제 풀이는 어떻게 하는지?

문제를 선택하면 아래와 같이 화면이 구성되어 있습니다.

왼쪽에는 문제 설명과 입출력예제가 있고, 오른쪽은 실행해보고 실행결과를 볼 수 있도록 되어있습니다.

 

문제를 풀고 실행을 하게 되면 아래와 같이 입출력 예시로 기댓값이 잘 나오는지 확인 할 수 있습니다.

문제 실행

 

백준과 가장 다른 점이 제출하고 난 뒤의 책점하는 포인트인거 같습니다.

(저는 먼저 풀었었기 때문에 같은 코드로 생성한 결과값이 뜬 것이니 참고부탁드려요~)

백준은 정확성과 시간제한이라면 고득점 Kit는 정확성과 효율성을 보고 책점을 합니다.

 

고득점코딩테스트 고득점 Kit는 코딩테스트에 자주 나오는 대표적 케이스를 직접 풀어보고 책점받을 수 있어

좋은 것 같습니다. 앞으로 각 문제들을 어떻게 풀었는지 공유도 드리도록 할게요!!

 

 

반응형

+ Recent posts