문제링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LtJYKDzsDFAXc&categoryId=AV5LtJYKDzsDFAXc&categoryType=CODE 사실 이 문제는 Testcase가 약해서 사용한 방법대로 시작점을 정하지 않고 맵의 모든 점을 시작점으로 해도 시간 내에 정상적으로 동작하지만 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 16 17 18 24 23 22 21 20 19 25 26 27 28 29 30 36 35 34 33 32 31 만약 맵이 위와 같은 모양이라면 최대 200 * 200 사이즈에서 시간초과가 나게 된다. 1에서 dfs를 통해 36까지 확인하게 ..
문제링크 : https://www.acmicpc.net/problem/16987 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475import java.util.Scanner; // 16986 인싸들의 가위바위보 문제와 마찬가지로 dfs를 통한 완전탐색으로 해결했다.// 처음 문제를 접했을 때 이걸 어떻게 해결하지 했다가 N이 최대 8이라는 것을 보고 바로 접근! public class Main { static int N; static int eggCount=0; static class Egg{ int w..
문제링크 : https://www.acmicpc.net/problem/16986 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123import java.util.Scanner; // 손가락 가지수가 최대 9개입니다.// 즉, 지우가 낼 수 있는 가지수가 9개 뿐이므로 아무리 많아도 9!개의 가지..
문제링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWjlJGwK3lMDFAVT 잘 모르는 개념의 문제를 푸는 중이라 풀이를 올릴만한 문제를 못찾아서 오랜만에 올리는 글 ! - 소스 코드 -12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273#include#include#include #define pii pair using namespace std;//comparator 함수 정의 bool comp(pii a,pi..
Ctrl + W : 탭 닫기+ E : 주소창으로 구글 검색+ R : 새로고침+ T : 새 탭+ U : 페이지 소스 보기+ O : 열기+ P : 인쇄 + A : 전체 선택+ S : 저장+ D : 북마크+ F : 검색 (방문 기록 같은 특정 페이지에서는 G와 다른 기능)+ G : 페이지 내에서 검색+ H : 방문 기록+ J : 다운로드 목록+ K : 주소창으로 구글 검색+ L : 주소창 선택 + N : 새 창에서 새 탭 + Tab : 다음 탭으로 이동+ Pgdn : 다음 탭으로 이동+ Pgup : 이전 탭으로 이동+ Home : 페이지 맨 위로 이동+ End : 페이지 맨 아래로 이동+ + : 확대+ - : 축소
사실 1월 말에 합격 통보를 받았지만 연휴, 귀차니즘 등등으로 이제 글을 쓰.. 드디어 3번만에 B형 합격 !! 지난(2018년) 7~8월부터 최대한 stl을 안쓰고 문제를 해결하는 연습을 나름 했지만 2번의 도전 모두 결과는 좋지 않았다. 그래서 다시 처음부터 여러 자료를 찾아보다가 박트리님의 블로그에 올라온 글(https://baactree.tistory.com/53)을 보면서 최적화를 위해 필수 배경지식과 기법들이 있다는 것을 알게 되고 공부하며 사용해보고 알고리즘 스터디(스터디는 https://open.kakao.com/o/g0fl7MN에서 갓분들과 만들어서 진행)를 하면서 같은 문제라도 여러 사람의 풀이를 보고 시간복잡도를 계속 따지며 줄이는 시도를 했던 것이 가장 큰 도움이 되었다. 다시 박트..
문제링크 : https://www.acmicpc.net/problem/1322 - 소스 코드 - 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849/* * 시간복잡도 : O(logN) [ N은 K입니다. ] * 공간복잡도 : O(logN) [arrayList] * * x+?가 x|?이기 위해서는 x의 비트가 0인 부분들로 구성되어야 합니다. * ex) x=101(2) ?=10(2) * 그래서 1부터 2씩 곱하면서 x의 해당 비트가 0일 경우 * ArrayList에 그 비트가 나타내는 수치를 저장했습니다. * 2^(arr.size)를 해준 이유는 이진수에서는 해당 자리가 0,1인 경우의 수 2가지가..