목록전체 글 (245)
말랑한 하루
엄청나게 애먹은문제다, 굳이 이분탐색으로 풀지않아도 풀린다는 풀이가 많았다. 하지만 그런 풀이들이 대체적으로 이해가되지않았고... 많은 참고와 도움끝에 겨우 이해한 정도로 풀었다... Java를 배우면서 한번더 풀어보았다. 이분탐색에대해서 그래도 기초문제들을 많이풀었엇고, 그렇게 큰 조건이 주어지지 않은 문제였기 때문에 수월하게 풀엇다. [ 문제 ] 더보기 휴게소 세우기 성공분류 2 초 128 MB 1755 722 534 41.850% 문제 다솜이는 유료 고속도로를 가지고 있다. 다솜이는 현재 고속도로에 휴게소를 N개 가지고 있는데, 휴게소의 위치는 고속도로의 시작으로부터 얼만큼 떨어져 있는지로 주어진다. 다솜이는 지금 휴게소를 M개 더 세우려고 한다. 다솜이는 이미 휴게소가 있는 곳에 휴게소를 또 세울..
[ 문제 ] [ 조건 ] 최대한 긴 과자를 나눠줘야 될 것! 나눈 과자를 합칠순 없음 = 막대과자 1개는 1번사용하면 끝임. [ 순서 ] 구해야 할 결과값이 "막대과자의 길이"이므로 막대과자 길이에 대해 이분탐색을 진행함 막대과자의 길이가, 모든 막대과자와 비교했을때 조각으로 나눠지는 경우를 전부 더해주어 이 값이 아이들의 수와 맞는지 비교하면됨. [ 핵심소스코드 / C++ ] // 이분탐색 while (left mid ? res : mid;// 최대치 저장 left = mid + 1; } } [ 전체소스코드 / C++ ] #include #include #pragma warning(disable:4996) using namespace std; #define MAX 1000001 int child, s;..
[ 문제 ] [ 조건 ] 가장 많이팔린 책의 제목을 출력할것! 단, 팔린개수가 동일한 책이 여러개라면 사전순으로 가장 앞선 제목을 출력! [ 핵심소스코드 / C++ ] #include map m; [ 전체소스코드 / C++ ] #include #include #include #include #include #pragma warning(disable:4996) using namespace std; int main() { #ifdef _CONSOLE freopen("input.txt", "r", stdin); #endif ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int tc; cin >> tc; map m; vectorv; string temp..
시계엔 여러가지종류가있죠 (1) 기본 시계 (2) 알람 시계 (3) 스톱 워치 오늘만들건 알람시계입니다. 알람시계의 기능은 다음처럼 순차적으로 구성할거에요 (1) 시작-멈춤, 재설정, 설정 버튼 만들기 타이머를 시작하고, 멈출수있고, 설정시간을 되돌릴 수 있게 만들거에요 재설정 버튼을 누를 때 설정시간이 안정해져있으면 기본값으로 돌아가게되고, 설정버튼을 누르면 설정시간이 현재시간으로 변하게됩니다. 시간이 전부 흘렀을때도 위와 동일하게 구현할거에요 그리고 시간이 전부 흘렀을때 자동으로 노래가 재생되도록 만들겠슴니당 시간을 설정할때 숫자가 아닌 다른입력이나 공백이있으면 안되겠죠? 오류까지 포함해서 예외처리해서 오류메세지를 띄우는것 까지 만들어볼게요!! 사실 C# GUI가 처음이었기 때문에 많이헤멨습니당 프로..
자소서와 SW적성진단 자소서는 진짜 많이써본사람이 유리하다는게 확연하게 느껴짐. 자소서가 쓰기 힘들다면 에세이연습을 하는게 맞다고 생각해서, 나중에 에세이연습도 하려고함......난 문과나왓는데 왜 글을 못쓸까...? 여튼ㅠ SW적성진단은 GSAT공부하면 더 편해요!!! 라고하는데 맞는 말임을 느낌. 근데 준비했다치더라도 시간적여유가 없다고 느꼈음 CT같은경우는 더했고 문제자체도 못읽은게 더많았음 근데 합격한거보면 정말 무슨 커트인지 잘 모르겠음 인재개발원 서천연수원으로 다녀왔는데 그닥 그렇게 춥진않았음, 내부도 뜨끈했달까 사람들 9할은 정장이었고 이외는 니트에 슬랙스 정도 다들 깔끔했음 신분증과 서류를 제외한 모든 소지품(전자기기, 펜 또는 개인물품 등)은 보관할 수 있는 용기를 주셨음 코로나의심 대상..
[ 개념 ] 이진트리로 구성된 정적트리 [ 시간복잡도 ] O(n logn) [ 흐름 ] (1) 최상위 Root Node가 1부터 시작함 → 자식노드를 찾아가기 편하게 하기위해서 (2) 자식노드들은 부모노드의 2배이거나 2배+1노드로 분배 → 왼쪽자식 Left_node = root_node *2 , 오른쪽자식 Right_node = root_node*2+1 (3) 세그먼트트리 전체 노드의 개수는 배열의크기보다 큰 제곱근 중 가장 작은수의 두배이다 → ArySize = 9 일때, 9
[ 문제 ] 1~100까지의 게임판에 뱀이나 사다리가 무작위로 놓여져있을 때, 가장최소치로 100까지가는 방법을 구하시오 [ 조건 ] (1) 주사위는 1~6까지의 수 (2) 뱀이나 사다리가있으면 타고 이동할것, 단 시작부분과 끝부분에는 존재하지않음 (3) 범위는 1~100 [ 순서도 ] (1) 입력받은 뱀 또는 사다리의 정보를 저장하는 개체생성 (2) 게임판에 최소로 도달한 값을 저장하는 개체생성 (3) 주사위의 최대수는 6이고 게임판시작부분이 1인것을 유념하고 최소값을 저장하며 bfs시작 (4) 도달한 곳에 뱀 또는 사다리가 존재한다면, 도착한 지점과 이동후 지점의 값 갱신하며 bfs (5) 100에 도달하였어도 최소치가 아닐 수 있으므로 queue는 끝내지않고 최소값만 저장 [ 핵심소스코드 / C++..
[문제] N개의 퀸이 서로 공격할 수 없게 만드는 경우의 수 [조건] 퀸은 으로 공격 가능하므로 그 경우를 제외한 조합을 찾아가면된다. [해결방법] 백트레킹 활용 DFS를 활용해서 N개의 퀸이 서로 같은 라인이거나 대각선에 존재하지 않을 때를 찾아가면된다 위 그림과같이 퀸이 놓일수 있는 1차원 배열 map[]이 존재할 때 현재의 map과 이전~현재까지의 map을 비교하여 같은라인인지 map[now] == map[yet] 대각선인지 map[now]-map[yet] == now-yet 판별해주면된다 [전체소스코드] #define _CRT_SECUORE_NO_WARNINGS #include #include #pragma warning(disable:4996) using namespace std; int map..