BOJ(13)
-
[BOJ] 문자열
이제 슬슬 조금씩 삽질을 할 조짐이 보이는 것 같습니다. [BOJ 11654] getchar 함수를 통해 한 글자를 받아 해당 글자의 값을 십진수로 출력해주면 되겠습니다. #include int main(){ printf("%d",getchar()); } [BOJ 11720] getchar 함수를 통해 한 글자씩 받고 해당 글자의 값을 아스키코드로부터 추출해서 더해주면 되겠습니다. 개행 문자를 지우기 위해 scanf에 \n을 추가해주었습니다. #include int main(){ int N; scanf("%d\n",&N); int sum = 0; for(int k=0;k S; vector loc = alpha_loc(S); for(int k=0;kend(), sentence.begin() + k)){ k..
2020.07.23 -
[BOJ] 함수
함수는 컴퓨터에서 아주 중요한 개념입니다. 코드의 재사용을 극대화하는데 필수적이라고 생각합니다. 제가 알고리즘 문제를 처음 풀 때는 함수의 오버헤드 때문에 느려지는 것을 막고 싶어서 직접 인라인을 하고 그랬습니다. 인라인은 따로 코드를 함수에 작성하고 함수를 호출하는 일 없이 함수를 호출하는 부분에 로직을 그대로 작성하는 것을 말합니다. 그런데 사실 이건 어찌 보면 바보 같은 생각일 수도 있습니다. 먼저 재귀 함수와 같이 함수 호출을 엄청 많이 하는 것이 아니라면 성능에 영향을 별로 주지 않습니다. 암달의 법칙 때문입니다. 컴퓨터가 워낙 빠르기 때문에 재귀 함수와 같은 경우를 제외하면 수작업 인라인은 별로 쓸모가 없습니다. 그리고 컴파일러가 자동으로 최적화를 위해 인라인을 해주기도 합니다. 특히 함수의 ..
2020.07.23 -
[BOJ] 1차원 배열
한번 걸어봅시다. [BOJ 10818] 하나씩 받아서 바로바로 쓰면 되긴 하지만 1차원 배열이니 배열로 받아서 해봤습니다. #include #include #include using namespace std; pair findminmax(const vector & v){ int min = INT_MAX; int max = INT_MIN; for(const int n : v){ if(min > n) min = n; if(max < n) max = n; } return {min, max}; } int main(){ int N; scanf("%d",&N); vector v(N); for(int k=0;k
2020.07.21 -
[BOJ] WHILE문
좋은 아침입니다. [BOJ 10952] 여전히 쉬워 #include int two_sum(){ int A, B; scanf("%d%d",&A,&B); if(A == 0 && B == 0) return -1; printf("%d\n",A+B); return 0; } int main(){ while(two_sum() == 0) ; } [BOJ 10951] 옛날에 이 문제를 어떻게 풀어야 하는지 생소했던 기억이 있다. 핵심은 입력이 끝났음을 인지하는 방법을 알아야 하는 것이다. 입력이 모두 끝나면 운영체제에서는 EOF로 끝을 표시해놓는다. 그래서 입력이 끝났음을 안다. 이 때 scanf 함수는 EOF의 값을 리턴한다. 보통 이 값은 -1이나 다를 수도 있다. 일반적으로는 음수라고 한다. #include int..
2020.07.21 -
[BOJ] FOR문
이 새벽시간을 틈타 한 문제씩 풀어주는 게 제맛이다. [BOJ 2739] 한 문제만 풀려고 했는데 이건 너무 쉽잖아. #include int main(){ int N; scanf("%d",&N); for(int k=1;k> B; // do not use endl cout T; for(int k=0;k
2020.07.20 -
[BOJ] 입출력과 사칙연산
BOJ를 다시 시작하는 김에 옛날 아이디는 이메일 바꿔버리고 새로 팠다. 그래서 단계별로 풀어보기도 처음부터 다시 해야 된다. 어차피 옛날에 풀어서 단계별로 풀어보기가 개편되었기 때문에 다시 풀어보는 것도 나쁘지 않을 듯하다. 티스토리 글쓰기 연습하는 겸으로 해본다. [BOJ 2557] Hello World! 간단하게 출력하는 문제 #include int main(){ puts("Hello World!"); } [BOJ 10718] 잘 갔다 와라 #include int main(){ printf("강한친구 대한육군\n"); printf("강한친구 대한육군\n"); } [BOJ 10171] 파이썬에 r"""내용""" 이런식으로 치면 바로 나옴 #include int main(){ printf("\\ /\\..
2020.07.20