일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자취업
- 예외 처리
- 일반 예외
- 코딩테스트준비
- 로켓펀치 #취준컴퍼니 #취업 #일상 #취준생
- 다중 catch 블록
- 실행 예외
- 예외
- try-catch-finally 블록
- 예외클래스
- throws 키워드
- 99클럽
- til
- 항해99
- Today
- Total
목록innn (166)
innn
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bwD2KU/btrMId0baDQ/6qsB07MMoJvSGOsJXD4oX0/img.png)
코테를 진행하며 실수하기 쉬운 4가지 오류 찾아보기 구간 합 관련 코드이다. 언뜻 보면 문제가 없는 것 같지만 이 코드에는 실수하기 쉬운 4가지 오류가 숨어져 있다. 실제 코테에 입력할 코드와 비교하면 짧고 단순한 코드이다. 눈으로 오류를 금방 찾았을 수도 있다. 하지만 코테는 이보다 복잡한 알고리즘 로직이 필요하며, 코드의 길이도 길어서 논리 오류를 눈으로 찾기 어렵다. 디버깅으로 논리 오류를 찾아보자. 오류 1. 변수 초기화 오류 찾아보기 1번째 오류는 변수 초기화 로직에서 초기화를 제대로 하지 않은 경우이다. 다음 화면에서 변숫값 기능을 보여주는 Variables 탭을 보자. Variables 탭의 t가 2이므로 2번째 테스트 케이스를 진행하는 중이라는 것을 알 수 있다. 그리고 중단점은 20번째 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/biKZiK/btrMJsPeSR2/EDAVfEEiGoJnAIR2TB9wlK/img.png)
코드의 논리 오류를 어떻게 잡을까? - 가장 뛰어난 오류 탐색 방법, 디버깅 코드에서 논리 오류를 찾아내지 못해 코테를 통과하지 못하는 안타까운 경우가 많다고 한다. (나의 경우에서도 자판기를 만드는 코테에서 논리적 오류가 있었다. 문제를 복기하면서 뒤늦게 알아차렸다..) 이러한 상황에서 논리 오류를 찾을 수 있는 최선의 방법은 '디버깅'이라고 한다. 이 디버깅에 대해 알아보자. 프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로잡는 과정을 디버깅debugging이라고 한다. 문법 오류는 컴파일러가 자동으로 찾아 주므로 테스트할 때 문제가 되지 않는다. 논리 오류는 코드가 사용자의 의도와 다르게 동작하는 것이며 다양한 형태로 발생한다. 디버깅의 중요성 코테 응시자의 경우 이런 말이 많이 있다. 학생..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/CSOjA/btrMFFP3aEj/UnkmRw4fhl0OEeLG5H53t1/img.png)
그렇다면 시간 복잡도의 개념을 코딩 테스트에선 어떻게 활용해야 할까? 알고리즘 선택의 기준으로 사용하기 정렬 부분의 학습을 완료했고 버블 정렬, 병합 정렬의 시간 복잡도를 각각 O(n^2), O(nlogn)이라고 알고 있다고 가정하자. 연습문제 000_수 정렬하기 n개의 수가 주어졌을 때 이를 오름차순으로 정렬하는 프로그램을 작성하시오. (시간 제한 2초) - 입력 1번째 줄에 수의 개수 N(1 시간 복잡도는 항상 최악일 때, 즉 데이터의 크기가 가장 클 때를 기준으로 한다. 연산 횟수 계산 방법 연산 횟수 = 알고리즘 시간 복잡도 X 데이터의 크기 위 공식을 대입해 각 알고리즘이 이 문제에 적합한지 판단해 보자 알고리즘 적합성 평가 버블 정렬 = (1,000,000)^2 = 1,000,000,000,0..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/B8U0G/btrMEtvgbEn/I0FqQzjqkZHFkK1O6aYHj0/img.png)
코테 공부 전 반드시 알아야 할 두 가지 1. 시간 복잡도 2. 디버깅 어떤 알고리즘으로 풀어야 할까? - 알고리즘 선택의 기준이 되는 시간 복잡도 코테의 핵심은 문제마다 주어진 시간 복잡도를 고려해 적절한 알고리즘을 선택하는 것. 처음 알고리즘을 잘못 선택하면 아무리 코드를 잘 짜려고 노력해도 좋은 결과를 거두기 어렵다. 문제를 본격적으로 풀어 보기 전에 시간 복잡도를 표기하는 방법과 활용하는 방법을 익혀본다. 시간 복잡도 표기법 알아보기 알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측한다. 시간 복잡도 정의하기 실제 시간 복잡도를 정의하는 3가지 유형은 아래와 같다. 빅-오메가(Ω(n)) : 최선일 때..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/wxSV5/btrMjmoqJfj/fGLQga7a88uzzFvzUyQfkk/img.png)
옆에 다른 요소가 못 오는 게 block ex) , 옆에 다른 요소가 올 수 있는 게 inline ex) 옆에 다른 요소가 못 오는 게 block 옆에 다른 요소가 올 수 있는 게 inline in the same line == inline 대부분의 box는 block 임 도 블록 그래서 인라인인 요소를 외우는게 편함. 근데 어차피 안외우고 그때 그때 찾아보면서 하는 방식으로
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/WY06d/btrLgZn0R9l/l2sNwl4keemk8ZR0mjkKL1/img.png)
1. starUML 설치 https://staruml.io/ StarUML UML 2 Compatible with UML 2.x standard metamodel and diagrams: Class, Object, Use Case, Component, Deployment, Composite Structure, Sequence, Communication, Statechart, Activity, Timing, Interaction Overflow, Information Flow and Profile Diagram. SysML Sup staruml.io 이 페이지에서 바로 다운 받을 수 있다. 2. 설치 후 화면은 아래와 같은데, Evaluate 를 매번 눌러야하는 단점이 있지만 무료니까 참고 진행한다 ! 3..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/UNTw5/btrKSg5xZDZ/iteJslL6so1b4Ez7vLp1A0/img.png)
이전 강의에서 JavaScript와 HTML은 기본적으로 자동 연결돼있다는 사실을 배웠다.. 그 증거로 브라우저의 콘솔창에 자바스크립트로 title을 바꿀 수 있다는 것. 물론 새로고침하면 다시 돌아온다. 그러나 여기서 중요한 것은 자바스크립트에서 HTML의 항목들을 읽어올 수 있다는 것이다. 이는 HTML의 항목들을 추가할 수 있다는 뜻이다. 도큐먼트는 자바스크립트를 통해 html 파일로 접근할 수 있는 방법이다. js로 id="title"을 가진 H1태그를 가져왔다. HTML에 의해 변경된 것이 아니라 JS에 의해 변경된 것이다. 이게 가능한 이유는 ? 1. 바꾸고 싶은 태그의 위치에 id를 추가했기 때문이고 2. 그리고 js에서 document.getElementById를 통해서 이 element(..