개발 노트237 백준 알고리즘 10988번 - 입출력, 입력범위, stirng 이해 부족으로 인한 런타임에러 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 1. 입출력 속도를 올려주는 위의 경우는 알고리즘 시간초과가 된다면 그 후에 추가하여 시도할 것. 굳이 미리 사용 말자 2. string 의 길이를 구할때는 length(), 벡터의 길이를 구할때는 size()를 써야 한다 3. 문제에서 입력범위가 주어지곤한다. 입력범위는 출제자가 내는 범위이니 내 코드에는 범위 내용을 적을 필요없다. 내 코드는 입력범위가 달라지더라도 항상 올바른 로직이어야 하기 때문이다. 물론 자료형의 판단에는 반영을 해야할것이다 4. string 은 정적할당 배열이 아닌 동적할당 배열이다. 즉, string 은 벡터이다. 그러므로 할당전에는 크기를 알 수 없으며, 인덱.. 2022. 6. 13. 모듈러 연산 모듈은 %연산에서 나누는 수를 말한다 c = a%b // a를 b로 나누고 남은 나머지가 c이다 c = a mod b // b 를 모듈이라 한다 모듈러 연산은 % 를 사용하여 남은 나머지를 연산하는 것을 말한다 외워두면 몇가지 공식이 있어서 아래에 정리한다 a ≡ b mod n 이고 b ≡ c mod n 이면 a ≡ c mod n [ ( a mod n) + (b mod n) ] mod n = (a + b) mod n [ ( a mod n) - (b mod n) ] mod n = (a - b) mod n [ ( a mod n) * (b mod n) ] mod n = (a * b) mod n 2022. 6. 10. 에라토스테네스의 체, 소수판별법 에라토스테네스의 체 소수를 걸러내는 방법, 소수의 배수(합성수)들을 하나씩 지워나가 남는 것들은 소수라는 결론에 도달하는 방식이다 소수 판별법 소수는 1 과 자기 자신으로만 나누어 떨어지므로, n 이하의 모든 자연수를 대입하여 1외에 수로 나누어 떨어지는지 확인하면 되지만 모두 계산할 필요없이 n의 제곱근 이하의 값이 1외의 수로 나누어 떨어지는지 확인하면 된다 왜냐하면 n 이 소수가 아닌 합성수라면, n = a * b 로 나타낼 수 있는데(a,b는 1외의 자연수) a와 b는 모두 n의 제곱근 이하의 값을 가지므로, n의 제곱근에서 나누어지는 수(a와 b) 가 있는지만 확인하면 소수인지 아닌지를 구분 가능한것이다. 제곱근 n이하에서 나누어 떨어지면 합성수, 나누어 떨어지지 않으면 그 수는 소수이다 2022. 6. 10. CS50 수료 완료 6월 2일부터 현재 6월 7일 새벽 3시까지 최대한 집중해서 수강했다 시간이 없는 나인데 생각해보기 문제를 너무 고민하느라 시간을 투자한게 조금 아쉽긴하지만 괜찮다! 더 배웠다 생각하자! 알고리즘, 자료구조는 코드가 꽤나 복잡했다. 이해를 위해 매 강의마다 수십 번씩 5초 이전 버튼을 눌러야만 했다... 강의에 나오지 않은 알고리즘도 찾아서 빠르게 이론을 익히고 코딩테스트 문제를 풀어보며 소화시켜야겠다 부스트캠프 1차 코딩테스트는 27일! 늦게 시작해서 시간이 촉박하지만 꼭 할 수 있을거라 믿자 2022. 6. 7. 이전 1 ··· 48 49 50 51 52 53 54 ··· 60 다음