'분류 전체보기' 카테고리의 글 목록 (7 Page)

천천히 그러나 꾸준히 151

2105. [모의 SW 역량테스트] 디저트 카페

아..어려웠다. 어려웠어~ 사각형 만들어 주는게 안 떠올랐어~~ 접근법1. N*N의 모든 맵에 대해서 탐색을 해주어야 한다.2. 사각형 모양으로 탐색을 해야 한다. 사각형 모양으로 탐색하는 방법.우하 -> 좌하 -> 좌상 -> 우상 방향으로 dx,dy 배열 설정. 그럼 0:우하, 1:좌하, 2: 좌상, 3: 우상 이 된다.그리고 0->1->2->3 순서로만 탐색하도록 if문 조절만 해주면 된다. 그래서!!DFS문 for문 시작은 현재 방향부터, 그리고 현재 방향과 다음 방향은 항상 1차이 이하일 때만 탐색 시작. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585..

[C언어] 9207. 페그 솔리테어

14620 꽃길이랑 정답률 비슷하길래 쉬운줄 알았는데 풀었더니...후...어렵다. 접근 법. 1. O로 표시되어 있는 곳들의 모든 움직임을 탐색한 후에, O가 최소가 될 때의 움직임 횟수를 구하면 된다. 그럼 어떻게 모든 움직임을 탐색할 수 있을까?? 반복문으로 O가 있으면 그냥 백트랙킹으로 움직였다. 빽 했다를 반복하면 된다! 이렇게 모든 O에 대해 탐색해보면 정답이 나온다. 기존의 재귀와는 다르게 딱히 재귀의 종료 기준이라 해야되나, 갑자기 생각이 안 나는데. 조건에서 벗어나면 재귀 그만 들어가게 하는 그런 조건문이 없는 것 같다. 아마도..... 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474..

4014. [모의 SW 역량테스트] 활주로 건설

요건 백준 14890 경사로랑 동일하다. 각각의 세로 가로에 대해 판단을 해주어야 한다. 1. 현재 높이와 다음 칸의 높이가 -1 cnt는 높이가 연속된 배열의 길이이다. 이건 앞으로 가야하는데 높이가 1차이 나는 곳을 위해 경사로를 설치하기 위함이다. 현재 앞칸과 높이가 1이고, cnt가 x보다 길면 다음 칸으로 나아갈 수 있으며, cnt는 초기화된다. 2. 현재 높이와 다음 칸의 높이가 1 현재 높이가 다음 칸보다 1보다 높은 경우, 다음 칸부터 길이 x만큼 평지 인지를 판단해주면 된다. 이때 주의할게 경사로 설치 기준이 만족하면, cnt=-1, j+=(x-1)로 설정을 해주어야한다. j+=x로 할 경우 for문을 거치면서 j++가 되어, j+x 와 j+x+1을 비교해주지 않고 넘어가게 된다. 그리고..

4008. [모의 SW 역량테스트] 숫자 만들기

백준 14888 연산자 끼워넣기와 똑같은 문제. + - * / 개수에 맞게 순열을 구한 후, 차례대로 계산하면 되는 문제. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283#include #include int num[5];int arr[12];int visit[12];int N, MIN, MAX; void DFS(int a, int b, int c, int d, int n){ if (num[1]

4013. [모의 SW 역량테스트] 특이한 자석

백준 14891번 톱니바퀴랑 99.99%같은 문제. 다른게 있다면 백준은 Test case를 한 번에 한 개만 입력 받고, SWEA는 여러 개를 한번에 받는다는 것 정도..??그리고 회전하는 횟수를 백준은 4*8배열 입력 받고, SWEA는 배열 받기 전에 입력 받는 정도이다. 실제로 백준에서 제출한 코드를 좀만 수정하면, 바로 SWEA 통과!!하지만 연습 차원에서 다시 풀어보았다. 접근법. 1. 시계, 반시계 방향으로 배열을 움직이는 배열을 만들어준다.2. 입력 받은 톱니바퀴의 번호와 방향을 기준으로 양 옆의 배열을 체크해주고, 양 옆의 배열을 기준으로 그 다음 배열을 체크해주면 된다! 체크를 위해 별도의 배열을 사용했다. 1이면 시계, -1이면 반시계, 0이면 그 다음 배열 체크 안 해줘도 됨.3. 체..

4012. [모의 SW 역량테스트] 요리사

조합을 2번 구해줘야한다!! 한 재귀함수의 특정 조건이 만족하면 거기서 다른 함수의 재귀를 타면 된다!! 무슨소리냐하면, 1. A와B의 요리 개수를 N/2개씩 나누어 가져야하므로, 이때 재귀를.2. N/2개씩 나누었으면, i와j의 시너지를 찾아야 하므로 재귀를 타면 된다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293#include #include int map[17][17];int visit[17];int IJ[2];int N, MIN;..

[C언어]14620 꽃길

3개 놓는 경우의 수 다 찾아서!!!문제에서 말한 MIN 값 찾으면 됨!! 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798#include #include typedef struct{ int y, x;}point; int N, map[13][13], MIN, visit[13][13];int dx[] = { 0,0,-1,1 }, dy[] = { -1,1,0,0 }; point Q[3]; int Charge(){ int tot..

5658. [모의 SW 역량테스트] 보물상자 비밀번호

이번에 올라온 모의 역량 중에 제일 쉬운 문제 같은데.. 역시 체감 난이도는 상대적인 듯!!! 접근 방법1. Rotate 함수를 만든다.2. 16진수를 10진수로 바꾸는 함수를 만든다.3. 1과 2를 한 세트로 N/4번 해준다.4. 순서대로 세운 후, K-1 번째 출력! -> 중복은 제거하고, 정렬된 배열은 0부터 시작이니까!! 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107..

5653. [모의 SW 역량테스트] 줄기세포배양

1시간 50분 컷. 제약조건1. X 시간 동안 비활성화, 활성화 후 X시간 동안 생존2. 번식 된 후 비활성화 상태.3. 하나의 셀에는 하나의 세포만 존재.4. 동시에 번식할 경우 생명력이 큰 세포가 차지.5. 생명력을 다한 세포는 한 칸을 차지한 상태로 존재. 정답활성화 + 비활성화 세포의 수 핵심 내용..?1. 활성화, 비활성화, 죽은 것 판별2. 한 타임 동안에 활성화 된 세포 번식 접근법1. 활성화, 비활성화, 죽은 것 판별 ㄱ. 세포 번식을 표시할 배열, 활성화와 비활성화를 판별 할 배열, 같은 시간에 퍼지는지 판단하기 위한 배열 3개를 이용 -> 세포 번식 배열에 새로운 입력이 들어오면 활성화/비활성화 판별 배열에는 생명력*2를 하여 입력. ㄴ. 활성화/비활성화 판별을 위한 배열은 -1로 초기..

5644. [모의 SW 역량테스트] 무선 충전

SWEA 모의 역량 테스트는...왜이렇게 정답률이 높을걸까ㅜ,ㅠ나한테는 어려운데ㅜ,ㅠ 약 2시간 걸렸다. 변수랑 구조체 남발해버렸다!!! 1. 입력을 다~~받는다.2. 무선 충전 AP 별로 충전 가능한 영역을 표시해준다. (BC 배열)3. 현재 위치에서 무선 충전이 가능한지 판단해준다. 이 중에서 가장~충전이 잘 되는 곳을 선택해서 power와 AP의 정보를 갱신해준다.(무선 충전이 가능한 영역이 겹칠 수도 있으니 말이다!!)4. 그리고 가장 중요한 부분!!둘 이 같은 영역에 있을 때!!! Power/2랑 겹치는 부분중에 두 번째로 높은 값을 비교하여 더 높은 값을 total 에 더해준다. 만약 둘이 같은 영역에 없으면 3번에서 구한 최대값을 total에 더해준다.5. 그리고 입력 받은 방향대로 움직여준..