목록All Contents (143)
Code&Data Insights
Exception Handling (Checked Exception | Unchecked Exception) [ Exception ] - Exception(예외)란 프로그램이 핸들링 할 수 있는 오류를 말한다. - When something does not go as planned (프로그램이 원하는 방향으로 작동하지 않을때 사용) - Exception(예외처리) 하는 방법 : - 오류, 그 중 런타임 에러는 Error와 Exception으로 나뉜다. => 오류의 경우 컴파일에러/런타임에러/논리적에러로 나뉜다. 예외처리를 할 수 있는 에러는 런타임에러, 그 중에서 exception만이 가능하다. => Error의 경우에는 예외처리가 불가능하다. => (ex) OutOfMemory와 같은 심각한 에러는 예..
분명 자바 수업인데, 교수님은 자꾸 C++이랑 비교하면서 설명해서 헷갈려 돌아버리는 줄 알았다 ㅋㅋㅋ 저번 교수님은 걍 간단하게 상속이랑 access modifier 표기만 짚고 넘어갔는데 이 교수님은 아예 과제도 class diagram 그려오라 그러고 aggregation, compostion 등등 첨 듣는 개념... 근데 어차피 프로그래밍 언어를 막론하고, UML은 소프트웨어 설계를 하는데 필요하므로 이참에 정리해보려고 한다. What is UML? - Unified Modeling Language - 소프트웨어 시스템을 설계하는 standardized modeling language [ UML Class Diagrams ] - Basic UML Class Diagram은 Classes / Comp..
[ Static Variables & Static Methods ] 계속 헷갈렸던 Static, What does "Static" mean? => 자바에서는 객체를 필요할 때마다 메모리에 올려 사용한다. Static은 프로그램의 객체 생성 이전 JVM에 의해 클래스가 load되는 순간에 자동으로 메모리에 올라간다. => 객체 생성 이전에 이미 로딩되는 메모리이기 때문에, non-static 영역(객체 영역)으로는 접근이 불가능하다. Variables(변수)에는 instance variables(iv)과 class variables(cv)- static 이 존재한다. => instance variables은 개별 속성(객체마다 다르게 가..
오늘 강의 듣는 중에 레거시 시스템이라는 말을 처음 들었다. 레거시 시스템이란 뭘까?? * What is a Legacy System? - 레거시 시스템이란?? => 레거시 시스템이란 아직도 쓰이고 있는 구식의 소프트웨어/하드웨어를 말한다. 그 시스템은 여전히 설계된 대로의 기능을 충족시킬수 있지만, 어떠한 성장도 용납되지 않는다. 구식의(오래된) 기술의 레거시 시스템은 현재 새로운 시스템과 상호작용 할 수 도 없다. * Problems caused by legacy systems - 레거시 시스템으로 인해 발생하는 문제들 1. Maintenance is costly (and futile) -> 유지비용이 많이 든다. 데이터 사일로로 인한 불필요한 저장공간이 발생되어, 이에 따른 비용이 부가적인 비용이 ..
[ Java Programming ] StringBuffer class & StringBuilder class - java.lang.StringBuffer extends (or inherits from) Object class - String 대신 String buffer class를 사용하는 이유? => 문자열 처리는 보통 String이 하지만, 기존 문자열에서 추가/삭제를 하는 경우 기존 메모리에 추가되는 것이 아니라 새로운 메모리에 더해진 문자열의 영역을 잡고 주소가 생기기 때문에 이러한 추가/삭제가 빈번한 경우 메모리에 부담이 커진다. => String(불변의 속성) vs StringBuffer(가변의 속성) - append() method의 경우에는 모든..
[Leetcode-977] Squares of a Sorted Array (Arrays) [ 내 코드 - Accepted ] class Solution { public int[] sortedSquares(int[] nums) { int [] square = new int[nums.length]; for(int i=0; i 앞에 풀었던 두 개 문제보다 훨씬 쉬웠다. square 하는걸 Math.pow()함수 써서 했는데 오류나서 그냥 했다. 아직 자료구조&알고리즘을 공부하기 시작한지 얼마 안되서 시간 복잡도나 이런건 잘 모르겠다. Q...
[Leetcode-1295] Find Numbers with Even Number of Digits (Arrays) 짝수 자리수를 가진 array element의 개수를 찾는 문제 [틀린 코드] class Solution { public int findNumbers(int[] nums) { int temp = 0; int digit = 0; int cnt = 0; for(int i = 0; i < nums.length; i++){ while(temp 자리 수를 구하려면 10으로 나눠서 나뉜 갯수로 짝수면 갯수를 세서 출력하려고 했는데 while문을 써서 그런지 시간초과가 났다. [정답 코드] class Solution { public int findNumbers(int[] nums) { int digit..
Leetcode.485 [ 틀린 코드 ] => 예전에 풀어본 기억이 있는것 같은데 , 이번 경우에는 카운트를 해서 전체 숫자로 카운트가 되고 만약 Example1과 같이 2개 연속된 숫자가 나오고 3개 연속된 숫자가 있으면 3을 프린트 해야되는데 총 숫자가 카운트 해서 나왔다. *** 문제 제대로 안읽어서 이부분을 놓쳐서 랜덤 array를 받았을 때 기준으로 짜다보니 넘 복잡해졌다.. 물론정답도 아님 ㅎ 무려 30분도 넘게 말도안되는 삽질을 했다..ㅋㅋㅋㅋ class Solution { public int findMaxConsecutiveOnes(int[] nums) { int cnt = 0; for(int i=0; iresult){ result = cnt; ..