'SW 업무 관련/SW Expert Academy' 카테고리의 글 목록

SW 업무 관련/SW Expert Academy 43

2112. [모의 SW 역량테스트] 보호 필름

정답률에 비해 금방 푼 문제. 1시간 30분 컷.최근 정답률은 무의미 하다는게 느껴진다. 이건 그냥 백트랙킹 문제인데 조건이 만 좀 잘 따져주면 된다. 지금 내 상태에서도 조건 잘 따져주면 시간 줄일 수 있겟지만 모르겠다!!! 접근법1. 두께 d에서 A 또는 B로 바꾸는 조합을 구해 바꾸어준다.2. D에서 K개 만큼 연속된 필름이 있는지 판단.3. K개만큼 W가 전부 만족하면 MIN값 판단 후, 갱신. 끝. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888..

2117. [모의 SW 역량테스트] 홈 방범 서비스

자기 전에 풀고 자려고 하였으나...집중이 안 되어 문제만 읽다가 바로 자러간 문제!!!처음에 맵에 영역을 다 표시하여 영역 안에 집이 있는지 체크하려고 했으나..비효율 적인 느낌으로 잠이 들었따. 자고 일어나 눈을 빡 뜨니!!! 풀이가 떠올랐다. 예술가들의 영감이 이런것인가!!!!!!좌표에서 집들까지 거리가 계산 가능하니!! 이걸로 영역안에 집이 있는지 체크하면 되겠다!라는 생각이 들었다. 물론...이런 문제는 치킨 거리..같은 문제에서 풀어보았지만ㅋㅋㅋㅋㅋ 접근 법.1. 집들을 구조에 배열 안에 저장해준다.2. 홈 방범 서비스를 1~ N*2 까지 해주었다. N+1해도 통과는 되었지만..N을 다 덮을만한 크기의 홈 방법 서비스까지 체크해주어야 될 것 같아서 그랬다.3. 그래고 홈 방범 서비스를 1,1~..

2382. [모의 SW 역량테스트] 미생물 격리

Thanks to 갓무새!!!! 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134#include #include typedef struct{ int y, x, num, direction;}bio; int map[101][101][2];..

383. [모의 SW 역량테스트] 점심 식사시간

어렵다!!!!!! 약..2시간 20분 컷. 1. 사람의 위치와, 계단의 위치를 저장.2. 사람이 두 계단으로 가는 모든 경우의 수를 찾아준다.3. 경우의 수 하나에 대하여, 시간을 구해주면 된다. 시간을 구하는 방법.1. 경우의 수에 대하여 두 계단에 도착하는 시간을 sort하여 빨리 도착하는 순서대로 나열한다.2. 반복문을 돌면서 해당 도착 시간이 되면, 계단을 내려가거나 대기하는 변수에 대입해준다.3. 계단 대기 함수에 앞의 3명은 1식 감소 시키고, 다 내려가면 front변수를 증가시킨다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636..

2477. [모의 SW 역량테스트] 차량 정비소

너무너무너무 어려웠다. 젠장! 정답률 52% 라니...좌절............... 3일에 걸쳐 5~6시간은 걸린 듯ㅜ,ㅠ 그리고 내가 구조체 속에, 인자로 구조체를 넣을 줄이야. 정말 어려운 문법을 썻다. 접근법.처음 입력을 저장하는 배열과, 접수를 마치고 정비소로가는 사람들을 저장하기 위해 별도의 큐를 사용하였다. 1. 접수처, 정비소 사람마다 일처리 시간이 다르다. 이걸 위해 능력과, 경과 시간마다 비어있는지 일하는 중인지를 위해 별도의 변수 working을 두었다. 종업원이 처음 일을 시작하면, 종업원의 능력을 별도의 변수에 넣어주었다. 이 변수는 1턴 마다 2 이상이면 -1씩 해준다. 2. 별도의 변수 working가 2 이상이면 -1, 1이면 이제 접수처나 정비소를 떠나야 하한다. 접수처에서..

1953. [모의 SW 역량테스트] 탈주범 검거

요건 약 1시간 컷. BFS 문제이다. 모든 문제가 그렇듯이 BFS + 약간 응용 이다. 주의 점.1. 현재 파이프에서 다음 파이프가 이어져서 갈 수 있는지 판단.2. 같은 시간마다 퍼져야 하는 모든 칸을 동시에 체크. 1번 구현은 했는데 먼가 간단히 할 수 있을 것 같지만..귀찮!! 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151..

2115. [모의 SW 역량테스트] 벌꿀채취

역테가 얼마 안 남은 이 시점에서!! 적성 공부를 할지 말지 고민하고 있다니...처음에는 알고리즘만 팔거야!!!했었는데. 역시 인간이란ㅜ,ㅠ 1시간 20분 정도 걸렸다. 나는 아직 멀었다. 이정도면 1시간 이하가 나와야 되는데ㅜ,ㅠ 접근법1. 백트랙킹을 사용하여 A, B 두 사람이 채집할 공간을 찾는다.A, B 두 사람이 겹침 없이 가로 길이로 M만큼의 공간이 존재할 때의 A, B 두 사람 위치를 구조체에 저장해준다.(아래는 visit배열을 사용해주었으나, 다시 생각하니 필요가 없다.) 2. A, B 위치를 기준으로 길이 M만큼의 조합의 최대 값을 찾는다.이때는 visit 배열이 필요하다!! 여기서 중요한건 C보다 벌꿀의 합이 작아야 한다. 여기서 C보다 클 때를 딱 찾기 어려워...그냥 C이하에서 모든..

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

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

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]