알고리즘/백준 5

[Baekjoon] 1929_소수 구하기

* 최대 시행 횟수가 1,000,000개가 넘어가는 프로그램에 시간복잡도가 n^2인 로직을 넣으면 BOJ에서는 바로 시간초과를 낸다. 따라서 더 효율적인 로직으로 소수를 구해야 하는데, 이때 사용될 수학 원리가 바로 '에라토스테네스의 체'이다. * 에라토스테네스의 체란, 어떤 수 n보다 작은 소수들을 모두 구할 때, 2 M >> N; int* a = new int[N](); for (int i = 1; i

알고리즘/백준 2022.04.11

[Baekjoon] 1436_영화감독 숌

백준 1436번 문제, 영화감독 숌 666이라는 문자열을 가지고 있는 수 중 N번째로 작은 수를 출력하는 문제이다. C++ string 클래스에 대한 이해가 부족하여 빙빙 돌아가는 풀이로 풀게되었다. 총평) * string class 의 to_string : to_문자열 * 아스키코드 6과 char type '6'을 헷갈리면 안된다(문자와 숫자를 비교할 때 어떻게 비교되는지 신경쓰기). string class의 find 멤버함수를 직접 구현해놓은(?) 느낌이다. #include #include using namespace std; int main() { int N; cin >> N; string input; bool deter = false; int hellcount = 0; for (int i = 66..

알고리즘/백준 2022.04.10

백준 단계별 풀이

**배열 - 평균은 넘겠지 *review - cout으로 소수점 설정하는 방법 *총평 - for문을 남발하며 코드를 작성하다가 infinite loop에 빠져버렸다. 오류찾느라 처음부터 다시 코드를 짜면서 가독성이 곧 효율성이라는 걸 새삼 깨달았다. - double과 integer 자료형 가지고 연산할 때 오류 범하지 않게 주의, static_cast가 곧바로 떠올라 다행이었다. https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net #include using namespace std; int main() { int testCa..

알고리즘/백준 2022.03.13

백준 단계별 풀이

**배열 - OX퀴즈 *새롭게 배운 개념) - 2차원 동적배열 생성 및 할당해제 - 함수의 인자전달방식 : 배열을 parameter로 지정시 배열을 argument로 넣어도 배열이 아닌 pointer로 전달된다. 때문에 전달받은 배열(pointer)로 함수내부에서 연산시(대표적으로 배열크기구하기) 기대하던 결과가 나오지 않을 수 있다. - cin에 char array를 대입 시, 프로그램 실행 후 CLI에 문자열을 입력하면 각 요소가 하나하나 char array에 대입된다. char array 생성시 초기화를 ()으로 해주면 (null로 해주면) 이후 문자열의 끝을 지정할 때 편리하게 사용할 수 있다(아래 operation함수에서 null로 반복문 break를 건 것처럼). *총평 - 입력받는 값을 저장..

알고리즘/백준 2022.03.13