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

천천히 그러나 꾸준히 151

5656. [모의 SW 역량테스트] 벽돌 깨기

1. 구슬이 떨어지는 모든 조합을 구한다. ex) W는 10, N은 3이면 0,0,0 ~10, 10, 10까지.2. 조합을 구한 후, Q에 넣으면서 구슬을 떨어뜨린다.3. 떨어뜨리면서 터지는 빈칸들을 Q에 넣고, 계속 터트린다.4. 다 터트린 후, MAP을 아래로 내린다. 나는 1000msec 정도 나왔는데...어떻게하면 50msec이하가 나오지...??ㅜ,ㅠ이건 다른사람 코드도 못 봐서ㅜㅠ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293..

[C언어] 15683. 감시

음... CCTV 방향의 모든 경우의 수에 대해 사각지대를 찾는 부분. 각각의 경우의 수에 대해 배열에 CCTV 감시 영역을 표시한 후, 사각지대를 count해준다!! 이것도 테케 다 맞는다고 대충 냈다가..엄청 틀렸네ㅜ,ㅠ 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612..

[C언어] 3108. 로고

정답률을 낮춘 장본인!!!!지역변수로 배열을 크게 잡으면 콘솔이 죽어버리는 것도 몰라서..확인도 안 해보고 그냥 제출한 것도 있고....디버깅 하는게 귀찮아서..대충대충 제출해서 이런것이야...ㅋㅋㅋ 어렵게 생각하면 어렵고 쉽다면 쉬운 문제였다!! 배열에 사각형을 그려준 후, 단지에 번호 붙이기 또는 섬의 개수 같은 BFS 문제와 같이 연결되어 있는 사각형의 개수들의 집합만 구해주면 된다!!그리고 집합의 개수 -1이 정답!!집합의 개수가 아닌 펜을 땐 횟수가 정답이니까!!! 배열에 그림을 그려줄 때는 좌표의 *2배 만큼의 길이로 구해주어여 한다. 이유는 아래 그림을 참조하도록! 좌표의 *2의 길이로 안 해주면 아래와 같이 겹치지 않는 사각형임에도 겹쳐서 그려지게 된다!! 따라서 아래와 같이 좌표의 *2배..

[C언어] 10164. 격자상의 경로

맵의 크기가 작고, 경우의 수가 적아서 그냥 DFS로 풀었다. 근데, 다른 사람들이 0msec이 나오는게 아닌가!!나는 100msec 정도인데...혹시나하고 보니 DP문제였다...ㅎㅎ O이 주어지면 정답은 : O까지 가는 경우의 수 * N,M 까지 가는 경우의 수없으면 N, M까지 가는 경우의 수 이다!! DFS는 원하는 지점까지 가면, 1을 반환하고 재귀가 종료되면 지금까지 반환 된 값을 반환하는 식으로 구성하였다. 설명하려니까 어렵다. 코드를 보자!!그럼 이해가 될 것이다!! DP는 비슷하게 반환 된 경우의 수를 DP배열에 저장해 두었고, DP 배열에 이미 경우의 수가 존재하면 현재 저정 된 배열의 값을 반환하는 구성이다.! 역시 글로 쓰자니 어렵다. 코드를 보자! DFS로 푼 것.1234567891..

[C언어] 14888. 연산자 끼워넣기

입력된 연산자의 개수에 맞게 조합..?을 구한 후!! 처음에 입력 된 수부터 차례대로 조합에 따라 계산해 나가면 끝~ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#include #include #define MAX 1500000000#define MIN -1500000000 int N, Min, Max, a, b, c, d;int Number[12];int Cal[11]; void DFS(int n,int aa, int bb, int cc, int dd){ if (aa > a || bb > b ||..

[C언어] 15686. 치킨배달

DFS후, BFS로 치킨 거리를 구해줬는데...시간이 너무 오래걸려서!! 수정을 좀 해보았다. 우리는 집들의 위치를 입력 받으면서 알 수 있기 때문에 BFS대신, 입력 받으면서 집들의 위치를 저장해 두었다가 치킨집들 마다 치킨 거리를 구해 최소 거리를 갱신해주었다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107#include #include typedef struct{ in..

[C언어] 14890. 경사로

가로, 세로 각각에 대해 0~N-1 까지 탐색을 해준다!! 각각의 행렬에 대해 0부터 진행해 나간다. 진행해 나가면서 다음 칸의 높이와 현재 높이가 2이상 차이 나면 무시.다음 칸의 높이가 낮으면, 다음 칸부터 L이 들어갈 수 있는지 따져준다.다음 칸이 높이가 높으면, 현재 위치부터 지나온 길이에 L이 들어갈 수 있는지 따져준다. 이렇게 해주면 된다...중요한건!!!이미 경사로를 놓은 곳에 또 경사로를 놓으면 안 되니!! 배열 하나를 추가로 해서 체크해준다..완전 노가다...내가 보아도..정말 더럽고 비효율적인 코드....다른 사람의 풀이를 좀 봐야겠다!! 12345678910111213141516171819202122232425262728293031323334353637383940414243444546..

[C언어] 14891. 톱니바퀴

15685 드래곤 커브를 풀다가 좌절감을 느낀 후..푼 문제 시계방향 -> 오른쪽으로 밀어줌반시계방향 -> 왼쪽으로 밀어줌 에 대한 함수를 만들어 준다. 그리고 돌리고자 하는 톱니와 방향을 입력 받으면, 이 톱니를 기준으로 돌려야하는 톱니들을 탐색해준다. 탐색하는 도중에는 톱니 바퀴를 돌리지 말고, 별도의 배열을 만들어 돌아가야하는 방향을 저장해 둔다. 예로 3번이 시계방향)2번의 3시 방향과 4번의 9시 방향을 비교하여 극성을 비교해준다. 극성이 다르면 3번이 시계 방향이니 나머지는 반 시계로 돈다. 그리고 돌아가는 방향과 톱니 바퀴 순번을 배열에 저장해준다. 그리고 3번 다음 2번이 돌아가야되는 톱니 바퀴이면 1번의 3시 방향과 2번의 9시 방향을 비교해주어, 돌아갈지 말지를 판단해준다. 이 과정에 ..