Knowledge
-
인터넷 주소의 의미 ( URL / URI )Knowledge/Web 2019. 8. 3. 22:35
URL의 정확한 의미를 알지 못하는 사람일지라도 웹 브라우저 주소창에 입력하는 http://www.. 으로 시작하는 저 문장을 보편적으로 URL이라고 부른다. 그렇기에 URL이 정확히 무엇인지 모른다해도 사는 데는 아무런 문제가 없다. '야 그 기사 URL 좀 보내줘'하면 인터넷을 사용하는 이들은 누구나 내가 원한 그걸 보내주는데 굳이 상세히 알 것 까지야.. 그러나 웹 개발을 하겠다는 사람은 그러면 안된다. URL이 무엇인지 정확히 모른다는 것 자체가 웹에 대한 정확한 이해가 없다는 건데 그런 사람이 웹을 개발한다는 것 자체가 앞뒤가 안 맞는 얘기 아닐까? 그리고 이 질문은 스스로에게 보내는 반성이기도 하다. 사실 나도 이에 대해 어렴풋이 아는 정도였기에 이 참에 제대로 공부하며 정리하려 포스팅한다. ..
-
comparison between signed and unsigned integer expressions 원인 및 해결 방법Knowledge/C++ 2019. 7. 16. 14:07
C++ sizeof() 함수와 strlen()의 차이 BOJ 8958번 문제 ( https://www.acmicpc.net/problem/8958 ) 를 풀면서 알게된 것 먼저 이 개념을 확실히 해야한다. sizeof() - 실제로 차지하고 있는 메모리의 크기를 구한다. strlen() - 문자열의 길이를 구한다.. takeknowledge.tistory.com 이 역시 위 포스팅과 같이 BOJ 8958번 문제 ( https://www.acmicpc.net/problem/8958 ) 를 풀면서 알게된 것 strlen()을 활용해 문제 풀고 맞았습니다 판정까지 받았지만 1 2 3 4 Main.cc: In function ‘int main()’: Main.cc:19:17: warning: comparison..
-
C++ sizeof() 함수와 strlen()의 차이Knowledge/C++ 2019. 7. 16. 13:40
BOJ 8958번 문제 ( https://www.acmicpc.net/problem/8958 ) 를 풀면서 알게된 것 먼저 이 개념을 확실히 해야한다. sizeof() - 실제로 차지하고 있는 메모리의 크기를 구한다. strlen() - 문자열의 길이를 구한다. 이 때 길이는 NULL 문자를 만날 때까지의 문자수를 센다. unsigned int ( 부호 없는 정수 ) 를 반환한다 이 개념을 정확히 인지하지 못하고 있던 나는 아래와 같은 코드를 작성해 슬랙에 질문을 올렸다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include #include using namespace st..
-
C++ 변수 여러개를 선언과 동시에 초기화 할 때 주의할 점Knowledge/C++ 2019. 7. 16. 10:29
BOJ 3052번 문제 ( https://www.acmicpc.net/problem/3052 )를 풀다가 알게된 것 포스팅하기도 민망하지만 아무튼 이것때문에 틀렸으니 포스팅하면서 복기해본다. C++관련해 대충 훑어보면서 int a,b,c = 0; 이렇게 선언하면 a,b,c 모두 0으로 초기화 되는 걸로 이해했는데 그렇지 않다 위와 같이 선언했다면 c만 0으로 초기화 되고 a,b는 초기화 되지 않은 상태다 만약 위와 같이 한줄에 다 선언하면서 다 초기화 시키고 싶다면 int a=0,b=0,c=0이라고 선언하면서 각각 초기화해야한다. 포스팅 끝. 을 이렇게 내기는 아쉬우니 코드 하나 덧붙이자면 나는 위의 초기화 이슈를 해결한 후 아래와 같이 코딩해서 문제를 풀었는데 1 2 3 4 5 6 7 8 9 10 11..
-
C++ 최소값과 최대값을 구하는 함수Knowledge/C++ 2019. 7. 16. 09:41
BOJ 10818번 문제 ( https://www.acmicpc.net/problem/10818 ) 를 풀며 알게된 것 한번 삽질은 했지만 문제는 쉽게 풀었다. 이 포스팅거리는 그 이후 다른 분들의 코드를 보다가 얻은 건데 나는 둘 중 작은 수와 큰 수를 구하는 부분을 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include int main(void) { int n, input, min, max; //배열크기,입력값,최소값,최대값 scanf("%d",&n); int arr[n]; // n만큼 배열 생성 for(int i=0; i
-
C++ EOF 처리 방법 ( 백준 10951 A+B - 4 )Knowledge/C++ 2019. 7. 11. 10:12
백준 10951번 문제 - A+B - 4 ( https://www.acmicpc.net/problem/10951 )를 풀면서 알게 된 것 이 문제는 입력의 마지막 조건이 어떤건지를 알려주지 않아서 JAVA의 hasNext()와 같은 게 C++에서는 무엇인지 알아야 했습니다 생각보다 방법이 다양했는데 케이스별로 간단히 정리해서 포스팅해봅니다. 1. scanf()가 입력받은 인자의 갯수를 리턴하는 특성을 활용하는 방법 1 2 3 4 5 6 7 8 9 10 11 #include int main() { int a, b; while (scanf("%d%d", &a, &b) == 2) // scanf는 입력받은 갯수를 리턴한다 // 만약에 scanf("%d",&a); 에서 입력이 제대로 들어왔다면 1이 리턴된다. ..
-
문자열을 출력하고 줄을 바꿔주는 puts() 함수Knowledge/C++ 2019. 7. 8. 17:43
BOJ 1330번 문제 두수 비교하기 ( https://www.acmicpc.net/problem/1330 ) 를 풀면서 알게 된 것! C++에서 문자열을 출력할 때는 C의 유산인 puts() 함수를 사용할 수도 있다. 간단히 코드로 보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include // scanf(), printf()와 같이 puts() 함수를 쓸 때도 stdio.h를 include 해줘야 한다. int main(void) { printf("문자열을 출력하고 줄을 바꿔 줘야 할 때 \n"); puts("printf 함수가 아닌 puts함수를 사용하면"); printf("\\n을 쓰지 않아도 자동으로 줄이 바뀐다"); /* 문자열을 출력하고 줄을 ..
-
C++ 의 입력과 출력 ( cin / cout / scanf / printf )Knowledge/C++ 2019. 7. 7. 20:31
BOJ 2588번 문제( https://www.acmicpc.net/problem/2588 ) 를 풀면서 알게 된 것 1단계 레벨에서 이 문제 이전까지는 머리를 쓸 필요가 조금도 없었기에 ( 이 놈의 건방...) 답을 맞히고도 다른 분들 코드를 보지 않았는데 이 문제는 다 풀고나서 다른 분들이 어떻게 구현해놨는지 궁금해 코드를 살짝 봤다. 다행히(?) 로직은 아무런 차이가 없었지만 나는 입출력을 cin과 cout으로 처리한 반면 다른 분들은 입출력을 scanf 와 printf를 사용해 처리하고 있음을 확인할 수 있었다. TCP스쿨 강의에 나와있던 cin과 cout밖에 모르던 C++린이인 나는 바로 이 입출력 방식간의 차이에 대해 검색해봤는데 그 중 'C/C++ 입출력 속도 비교' ( https://cup..