일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- programmers
- NumPy
- 알고리즘스터디
- 알고리즘 스터디
- type hint
- Join
- 가상환경
- 자료구조
- Selenium
- 노마드코딩
- Matplotlib
- queue
- 코딩테스트
- 파이썬
- Stack
- 정보처리기사 c언어
- 데이터시각화
- javascript
- aws jupyter notebook
- MySQL
- 프로그래머스
- openCV
- 알고리즘
- Algorithm
- String Method
- 백준
- pandas
- dataframe
- 선그래프
- python
- Today
- Total
목록분류 전체보기 (206)
조금씩 꾸준히 완성을 향해
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 10 5 2 3 1 4 2 3 5 1 7 예제 출력 1 1 1 2 2 3 3 4 5 5 7 내가 짠 코드 이 문제는 난이도가 브론즈1로 분류되어 있는데 생각보다는 까다로웠던 문제다. 정렬 알고리즘을 하나 하나 구현해 보지는 않은 상태여서 문제를 보고 솔루션을 한 번에 떠올리지 못했다. 몇 번의 메모리 초과를 겪은 후 계수 정렬로 해결이 가능하다는 사실을 깨달..
문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. 상근이가 높이를 15로 지정했다면, 나무를 자른 뒤의 높이는 15, 15..
정보처리기사 실기까지 합격!!!! 드디어 나도 기사 자격증 하나가 생겼다 올해 1회 시험은 내가 느끼기에도 꽤나 수월했다. 전체적으로 개념들이 중요한 것 위주로 나와서 그랬던 것 같다. 조금 당황했던 건 JAVA에 객체지향 문제가 생각보다 많이 나왔고, 또 까다롭게 출제가 되었다ㅠㅠ 프로그래밍 문제들의 비중이 점점 늘어나는 추세인 건 맞는 듯하다. C언어와 JAVA의 경우 깊게 이해하고 있어야 한다고 말할 수 있겠다! 필기와 같이 실기에서도 모든 벼락치기 과정은 흥달쌤과 함께했다. 보시게 될진 모르겠지만 감사합니다 선생님 (하트) 참고로 나의 스펙 1. 6개월간 AI 부트캠프 수강 - 파이썬 기반 라이브러리, 머신러닝, 딥러닝 학습 - 웹개발 찍먹(Javascript) - C언어, JAVA 지식 전무 2..
fork - 리눅스에서 자식 프로세스를 생성할 때 쓰는 명령 Q. 다음은 리눅스 환경에서 fork() 시스템 호출을 이용하여 자식 프로세스를 생성하는 C 프로그램이다. 출력 결과는? (단, "pid = fork();" 문장의 수행 결과 자식 프로세스의 생성을 성공하였다고 가정) int i=0, v=1, n=5; pid_t pid; pid = fork() if(pid < 0){ for(i=0; i
▶ ++(--)가 변수 뒤에 있는 경우 - 기존의 방식대로 변수 값 참조 후 1씩 증가(감소) #include int main() { int i = 5; int z = i++ + i++ + i++; // 5 + 6 + 7 printf("%d, %d", i, z); } // 8, 16 ▶ ++(--)가 앞에 있는 경우 - 처음으로 연산을 수행하는 시점의 변수 값을 참조 #include int main() { int i = 5; int z = ++i + ++i + ++i; // 7 + 7 + 8 printf("%d, %d", i, z); } // 8, 22 ▶ 혼합 예제 #include int main() { int i = 5; int z = ++i + i++ + ++i; // 7 + 6 + 8 printf..
printf 함수 & 단항 연산자(++, --) printf()함수 - 뒤에서부터 연산을 시작!! 단항 연산자가 변수 앞에 있을 경우(++i, --i) - 최종 연산이 끝난 후의 i의 값을 참조 = printf 연산을 하는 시점의 i의 값 참조 ▶ printf & ++i #include int main() { int i = 5; printf("%d, %d, %d, %d", i++, ++i, i++, ++i); } // 8, 9, 6, 9 ▶ printf & --i #include int main() { int i = 5; printf("%d, %d, %d, %d", --i, i--, i--, --i); } // 1, 3, 4, 1 ▶ printf & i ※ 단항 연사자가 없는 그냥 i의 경우에도 모든 연..
재귀 함수 - 함수 내에서 자기의 함수를 다시 호출하는 함수 - 스택 내에서 차곡차곡 쌓아두었다가 일괄로 처리한다 #include int func(int num){ if(num == 1) return 1; else return num*func(num-1); } int main() { int i; for(i=5; i>=0; i--){ if(i%2==1) printf("func(%d): %d\n", i, func(i)); } } // func(5): 120 // func(3): 6 // func(1): 1 #include int f(int n){ if(n > 0) return n % 10 + f(n/10); else return 0; } int main() { int result; result = f(123..
정적(static) 변수 - 단 한번만 초기화하고, 그 이후에는 전역변수처럼 프로그램이 종료될 때까지 메모리 공간에 존재하는 변수 - 초기값이 지정지 안되면, 자동으로 0이 대입 지역(local) 변수 vs 정적(static) 변수 사용 ▶ local 변수 #include void test(){ int a=10; a++; printf("%d", a); } int main() { test(); test(); } // 1111 ▶ static 변수 #include void test(){ static int a=10; a++; printf("%d", a); } int main() { test(); test(); } // 1112 #include void funCount(); int main() { int nu..