본문 바로가기

분류 전체보기

(273)
[C++/31937] 로그프레소 마에스트로 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.이렇게 쉬운 문제가 왜 정답률이 29퍼밖에 안되지? 했던 나를 반성하는 시간이였고, 아침에 풀었더니 정신없어서 문제를 제때 풀지 못했던것 같습니다. 그래서 천천히 다시 글을 읽어보면서 문제를 해결했는데, 원인을 천천히 파악을 해보겠습니다.일단 간단하게 설명하자면? 첫번째 감염된 컴퓨터를 찾는 문제입니다. 그래서 이 문제에서 주어지는 입력값들은 이러합니다.컴퓨터의 개수 N, 파일 전송 로그의 개수 M, 컴퓨터의 개수 K가 주어지고, K개의 감염된 컴퓨터를 보여줍니다. 그리고 M개의 로그를 보여주게 되는데요? 여기에서 M개의 로그는 t의 시간에 a의 컴퓨터가 b의 컴퓨터에게 파일을 전송하는데 이때 감..
[C++/1347] 미로 만들기 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.약 1년전에 풀이했던 문제인데, 성공한줄 모르고 풀다가 로그인했을때 성공표시가 되어있었다..이 문제를 보고, 50글자가 최대이기 때문에 아무리 올라가도 아무리 내려가도 아무리 좌우로 가도 50을 벗어나지 않기 때문에, 현재 위치는 (50,50)으로 해두고 최고로 높이간 곳, 최고로 아래 또는 좌우로 간곳으로 이동마다 비교를해서, 최대 최소값을 구하고 그 범위안에 방문했다면 '.' 방문하지 않았다면 '#' 으로 표시해 배열을 그릴 수 있다. 그리고 1년전 문제풀이보다 지금이 더욱 깔끔하게 작성된것을 보면? 그래도 코드 짜는 능력이 조금은 발전했다고 볼 수 있을것 같다.실력이 오르는가 안오르는가 생각..
[C++/1660] 캡틴 이다솜 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.정사면체가 하나씩 증가하는 공식과 그리고 그 크기만큼 정사면체를 만들 수 있다면? 그건 하나의 정사면체가 된다. 우리는 최소의 정사면체를 만들어야 하기 때문에, 최대한 정사면체를 크게 만들고 나머지 값으로 최소한의 정사면체를 만들어야하는 문제를 갖고 있습니다.그래서 우리는 일단 개수따라 정사면체를 만들 수 있는지 알아야 한다. 그에 따른 공식은 아래의 코드와 같다. 그리고 이에 따라서 그 개수로 정사면체를 만들 수 있는 것이 된다.아래는 점화식이다. 추후에 좀 더 자세히 작성을 해봐야 겠다.. 너무 피곤햇일단 우리는 n개로 정사면체를 만들 수 있다는 것을 vector안에 차례로 추가해주었다.그 값..
[C++/13022] 늑대와 올바른 단어 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.1. w는 첫번째로 나와야한다. 2. f로 끝났을때 다음도 w가 나와야한다.  이 과정을 반복하자!첫번째 w가 나오지 않으면? 그것은 올바른 값이 아니다.w의 개수(n) 만큼  n * 4 가 해당하는 길이가 된다. 그만큼 잘라서 검증을 하고, string을 자른다. ->  잘랐을때 4의 배수가 아니라면? 그것은 옳바른 답이 아니다.-> 또는 길이가 wolf가 전부 들어가지 않는다면 옳바른 답이 아니다.위 내용은 제가 문제를 풀기 전에 써두었던 내용입니다. 그리고 이 문제가 구현이고 꽤나 귀찮은 문제여서 아마 29%의 정답률이 나오지 않았나 싶습니다.저도 두번 정도 틀리고, 반복시에 다시 체크해줘야..
[C++/13022] 늑대와 올바른 단어 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.1. w는 첫번째로 나와야한다. 2. f로 끝났을때 다음도 w가 나와야한다.  이 과정을 반복하자!첫번째 w가 나오지 않으면? 그것은 올바른 값이 아니다.w의 개수(n) 만큼  n * 4 가 해당하는 길이가 된다. 그만큼 잘라서 검증을 하고, string을 자른다. ->  잘랐을때 4의 배수가 아니라면? 그것은 옳바른 답이 아니다.-> 또는 길이가 wolf가 전부 들어가지 않는다면 옳바른 답이 아니다.위 내용은 제가 문제를 풀기 전에 써두었던 내용입니다. 그리고 이 문제가 구현이고 꽤나 귀찮은 문제여서 아마 29%의 정답률이 나오지 않았나 싶습니다.저도 두번 정도 틀리고, 반복시에 다시 체크해줘야..
[C++/30024] 옥수수 밭 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.애증의 BFS 입니다. 이 유형 문제를 예전에는 엄청 많이 풀었었습니다. 각설하고, 간략하게 문제를 요약해보겠습니다. 이 문제는 각 칸에 옥수수가 심어져 있는데, 옥수수의 가치가 1 부터 n * m 만큼 격자에 부여를 했습니다.그래서 민석이는 옥수수 밭 바깥을 돌아다니며, 인접한 칸에서 옥수수를 수확할 수 있는데 한정된 K그루의 개수만 획득을 할 수 있습니다. 항상 이런문제는 최고의 가치를 원합니다. 그래서 매번 최고의 옥수수를 수확해야합니다.그래서, 이 문제는 일단 민석이는 바깥에 있는 모든 옥수수에 접근이 가능하니 바깥에 있는 옥수수를 전부 우선순위 큐에 집어 넣습니다. 그 이유는 우선순위 큐..
[C++/28432] 끝말잇기 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.이 문제는 처음에 정답자가 많길래 도전을 했던 문제입니다. 슬쩍 문제를 읽어보니까 '?'의 앞 단어 맨 뒷글자 그리고 '?'의 뒷 단어 앞 글자만 알아내면 되는 문제더라고요? 그리고 중복되는 단어가 들어가면 안돼서 set을 사용해 중복 제거하기로 생각했습니다.그리고 나서 바로 제출을 했는데, outofbound 라는 에러가 발생됩니다. ?가 첫번째이거나 마지막이라면? 이라는 생각을 해서 첫번째면 앞에 단어를 못보고 마지막이라면 마지막 + 1 단어를 볼 수 없구나? 라는 생각이 들었습니다.그리해서 첫번째와 마지막일 경우의 수를 추가했습니다.그리고 나서, 제출을 했는데 98%에서 outofbound ..
[C++/1527] 금민수의 개수 ⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.이건 엊그제(5.19)에 풀었던 문제같다. 일단 문제 조건을 보자.문제는 은민이는 4와 7을 좋아해서 그 숫자들로만 숫자를 만들려고 한다. A와 B가 주어졌을 때, A보다 크거나 같고, B보다 작거나 같은 자연수 중에 금민수의 것의 개수를 출력해보자.일단 A와 B의 크기는 1 ~ 1,000,000,000 1부터 10억이다. 자 대충 컴퓨터는 1초에 1억번의 연산인데 첨부터 10억까지 가려면 일단 10초가 걸리기 때문에 단순 for문으로는 해결할 수 없고, 그리고 4 또는 7이 나온다면? 하나하나 체크를 해야하는데 그 또한 숫자로 해결하기엔 말도 안된다. 이 문제는 string 타입으로 문제를 해결..