본문 바로가기

분류 전체보기79

[백준] 17244.아맞다우산 (java) / BFS, Permutation @시뮬레이션 풀면서 permu + bfs, 완탐 이렇게 돌리면 터지지 않을까 고민하면서 풀었는데 돌려보니 의외로 빨라서 당황. 시간복잡도 계산하는 연습이 조금 더 필요할 듯 하다. 문제 자체는 크게 어렵지 않았는데, 챙겨야 하는 물건이 없을 수 있다는 점을 간과해서 런타임 에러가 떴고, 그걸 잡느라 조금 고생했다. 근데 또 물건이 없을 때에도 시작점과 도착점 사이에 벽이 있을 수 있다는 사실을 간과해서, 또 약간의 삽질을.. 문제 조건을 꼼꼼히 보는 습관을 들여야겠다. Gold 2라고 되어있어서 쫄았는데, 그정도 문제는 아닌 것 같고 bfs 연습하기 좋은 코드인 듯! # 구현 방법 1. 맵을 입력받으면서 물건의 위치를 ArrayList에 저장한다 2. 물건 개수 크기의 배열을 만들어서 nextPermut.. 2020. 1. 7.
백준 6118. 크로스워드 퍼즐 쳐다보기(java) / 시뮬레이션 @시뮬레이션 간단한 시뮬레이션 문제 어려워 보이는데 별로 어렵지는 않다. 단지 풀면서 이게 맞나...? 싶었을 뿐. +그리고 처음에 문제 이해할 때 약간 알쏭달쏭했다. # 구현 방법 1. findStart() - 이중 for문을 돌면서 첫 행 또는 첫 열에서 시작하거나, 이전 문자가 #인 출발점을 찾는다. 이렇게 하면 시작점을 찾을 수 있다. 2. horizenWord(), vertiWord() - 찾은 시작점에서 수직(위->아래), 수평(왼쪽->오른쪽) 방향으로 단어를 찾고, 단어의 길이가 2 이상인 경우에만 리스트에 추가한다. 3. findFirst() - 리스트에 있는 단어들 중에서 사전순으로 가장 앞에있는 단어를 찾는다. 일단 첫 글자부터 비교하고,. 첫 글자가 같은 경우 가장 긴 단어의 길이(2.. 2020. 1. 7.
백준 6118. 숨바꼭질(java)(수정) / 다익스트라(우선순위 큐) @ 다익스트라(사실 다익스트라 안 써도 풀 수 있다고 함. 가중치가 전부 1이니까 BFS로 풀어도 된다.) 다익스트라 개념 공부를 위해서 푼 문제 다익스트라 문제를 풀 때에는 1. 일반 큐 + 점화식을 사용해서 푸는 방법 2. 우선순위 큐 + boolean형 visit 을 사용해서 푸는 방법 (점화식의 기능을 우선순위 큐가 대신함) 우선순위 큐 + 점화식을 같이 써서 풀어야한다!!! 우선순위 큐를 쓰면, 우선순위 큐 자체가 Comparable로 점화식 역할까지 해 주기 때문에 점화식을 쓸 필요가 없다. 방문 체크를 하는 visit만 쓰면 된다. (처음에는 코드를 어떻게 짜야할지 감이 안와서 아래 코드를 참고했다) https://jaimemin.tistory.com/tag/%EB%8B%A4%EC%9D%B5.. 2020. 1. 7.
삼성 청년 SW 아카데미 2기 교육생이 쓴 SSAFY의 장점(후기) +2020/11/29 추가 코로나19의 영향으로, 현재 싸피는 온라인 + 오프라인 교육을 섞어서 하기 때문에, 제가 교육받을 당시와 약간 상황이 다를 수 있다는 점 참고해주세요! 블로그를 만든 지는 꽤 되었는데, 너무 바빠서 글쓰기를 미루다 보니 공교롭게도 블로그 첫 글이 SSAFY에 대한 글이 되었네요. 저는 SSAFY 2기 교육생입니다 :) 제가 2기에 지원할 당시보다 입소문이 많이 나서 제 주변에서도 많은 분들이 관심을 가지시기에 도움이 될까 해서 몇 자 적어봅니다. 여기서 SSAFY? 그게 뭐야? 하시는 분들은 SSAFY란 삼성에서 주관하는 알고리즘 & 컴퓨터 교육 과정입니다. 자세한 내용은 홈페이지(https://www.ssafy.com)에 나와 있기에, 글은 느낀 점 중심으로 작성하겠습니다. .. 2019. 10. 31.