왜 안 되는데
뭔가 문제 번호랑 닮은 듯자릿수만 계산해낼 줄 알면 무난한 문제!%10, /10 으로 일의 자리 10의 자리를 알아내봅시다
정수 위주로만 풀다보니 실수에서 약간 당황하게 됐던 문제출력할 때 printf("%.3f%%\\n", (float)high \* 100 / N); 으로 코딩해도 맞출 수 있다주석에 단 것처럼 형 변환 안 하려면 100.0처럼 실수 형태로 연산해줘야 한다는 것을 유의
이전 시도는 68ms가 나왔는데 0ms로 줄인 것도, 코드가 훨씬 짧아진 것도 마음에 드는데, 이 문제 카테고리가 함수인만큼 함수로 풀었어야 했나 하는 생각이 듦셀프 넘버 방식으로 생성이 된 숫자에 표시를 해가는 방식으로 풀이
문자열로 받은 숫자도 더할 수 있다다만 아스키 코드로 받아들여지기 때문에 '0'=48을 빼줘야 해당 숫자로 연산을 할 수 있을 것이다
그리디같이 생겼지만 DFS를 더 닮은 문제사실 카테고리를 따지자면 정확한 이름은 모르겠고더 큰 숫자를 사용해보고 안 되면 한 개씩 줄이는 방식으로 풀었다
에라토스테네스의 체의 핵심은 걸러진 수는 체로도 사용을 안 한다는 것이다. 뭘 자꾸 거른다길래 2, 3, 4, 5, ... 다 거르다가는 시간 초과라는 낭패를 볼 수 있다. 4는 2의 배수이기 때문에 4의 배수는 자연히 2의 배수다. 따라서 2의 배수를 다 걸렀다면 4의 배수를 거르는 것은 시간 낭비인 것이다.
사실 재귀 문제는 점화식만 잘 세우면 return 값에 그대로 표현해주면 되기 때문에 식 세우는 것이 전부라고 볼 수 있다.
제한 시간이 촉박하진 않지만 그래도 쓸 데 없는 반복문이 도는 걸 최대한 방지하기 위해 i, j, k의 범위 설정을 신경써서 해줬다.
역시 엣지 케이스가 짱
char형은 프린트는 %d로 해도 되긴 하는데 스캔하려면 %hhd로 해야한다.%c 입력받을 때는 %d과는 달리 정수형이 아니라 문자를 받기 때문에 앞의 \\n도 받아버린다. 따라서 원하는 입력과 다른 입력을 하게 될 가능성이 높기 때문에 앞의 개행문자나 공백을 무시하기
#붙은 저거 원리 알아보기
문제가 간결해서 만만하게 봤다가 하루종일 골머리 싸맸다.첨에 문제 대충 읽고 괄호까지 다 주어지는 줄 알고 짰다가 많은 당황.문제를 좀 제대로 읽으시길 바랍니다.괄호치고 넘어갈지 그냥 넘어갈지 선택하고 다음 단계 또 호출하는 재귀로 풀어야할 거 같아서 너무 심하게 쫄았
단순히 다 입력 받고 그 리스트 sort해서 제출하면서 오 쉽당ㅎ 했는데 입력이 최대 천만개까지...메모리가 초과되었다고 해서 나름 머리 굴려 딕셔너리 1~10000 만들어서 카운트 올리는 식으로 했는데 여전히 메모리 초과왜지!!! 10000개면 40KB밖에 안 되는데
아 깔끔하고 개운하게 풀었다
그래도 기어코 혼자 풀었다 장하다 나처음에는 이렇게 풀고자 했다.큰 자릿수부터 고장 안 난 숫자 버튼으로 눌러지면 누르다가 안되면 가장 가까운 되는 숫자를 추가.큰 숫자로 갔다면 뒤부터는 누를 수 있는 숫자 중 가장 작은 걸로 쭉. 작은 숫자로 갔다면 뒤부터는 누를 수
메모리 초과가 계속 났다.원인은 가중치를 받아두던 2차원 배열.정점의 개수가 2만개라 2차원으로 배열을 만들면 1.6기가..? 하여간 대단한 메모리를 차지한다.갈 수 있는 행선지를 받아두는 리스트에 가중치를 같이 받는 걸로 해결했다.우선순위큐에다가 넣어서 제일 빨리 갈