_

Always be tactful

728x90

분류 전체보기 54

[Java] 기본 변수 한 장 정리

byte b = 127;// 1byte (2^8): -128 ~ 127short s = 32767;// 2byte (2^16): -32,768 ~ 32,767int i = 2147483647;// 4byte (2^32): -2,147,483,648 ~ 2,147,483,647long l = 9223372036854775807L;// 8byte (2^64): -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807float f = 3.14f;// 4byte (2^32): 대략 -3.4E38 ~ 3.4E38 (7자리 정밀도)double d = 3.14;// 8byte (2^64): 대략 -1.7E308 ~ 1.7E308 (15자리 정밀도)boolean bool = t..

[Java] 향상된 for 문

향상된 for 문은 주로 배열 또는 컬렉션 객체의 요소들을 쉽게 순회하기 위해 사용된다. Java 5에서 도입된 구문으로, 앞으로 쓰일 일이 많으니 잘 기억해 두자.향상된 for 문 기본 문법for (타입 변수 : 배열) { // 반복할 코드} 굳이 표현식을 적자면 이렇다만, 그냥 예시를 보는 편이 훨씬 낫다.전통적인 for 문과의 차이점String[] names = {"Alex", "Brian", "Chris"};// 전통적인 for 문for (int i = 0; i  위 코드는 우리가 흔히 알고 있는 전통적인 방식의 for 문이다. 변수 i를 통해 반복 횟수를 지정하고, 인덱싱을 통해 이름들을 출력하고 있다.String[] names = {"Alex", "Brian", "Chris"};// 향상..

[CS] 1.1 + 0.1 != 1.2인 이유

컴퓨터에서 실수는 어떻게 저장될까? 컴퓨터는 모든 정보를 2진수로 표현한다. 실수 역시 2진수로 표현해 RAM에 저장하게 되는데, 이 과정에서 실수 값 일부가 손실되어 정확한 값이 아닌 근삿값을 저장하게 된다.  예를 들어, 0.1을 2진수로 표현하면 0.00011001100110011...이라는 무한소수가 된다. 숫자 하나를 저장하는 bit는 통상적으로 32비트이므로 뒷부분이 잘려나가게 되고, 이로 인해 오차가 발생하여 실제로 저장되는 값은 0.10000000000000000555...가 되어 미세한 오차를 발생시킨다. ▶ 자료형 double을 활용하자. C언어라면 double 자료형을 활용해서 숫자 하나당 64비트를 배정하여 오차를 급격하게 줄일 수 있지만 메모리 용량이 2배가 필요하다는 단점이 있다..

[IntelliJ] Ctrl + Shift + F10, Run 단축키 안 될 때

문제 상황 인텔리제이 사용 중, 실행 단축키를 눌러도 실행되지 않는다. 단축키 설정 상태를 보아도, Ctrl + Shift + F10으로 잘 설정되어 있다.해결법 원인은 '한/영' 키다. 운영체제에 따라 같은 키 조합을 사용하도록 설정되어 있으면 충돌이 발생한다. '한/영' 키를 눌러서 영어 입력기로 전환 후 다시 시도하자.

[Python] 리스트를 뒤집는 방법 세 가지

리스트를 뒤집는 3가지 방법 [::-1] 리스트를 역순으로 슬라이싱 하는 방법이다. 새로운 리스트를 만들 필요 없이 기존의 리스트를 뒤집어 반환한다. 하지만 슬라이싱을 활용해 뒤집는 경우 리스트의 크기가 매우 크다면 메모리를 필요 이상으로 낭비하게 될 수 있다. reverse() 원본 리스트를 직접 뒤집기 때문에 메모리 사용량이 적다. 하지만 원본 리스트가 변경되기 때문에 원본 리스트를 유지하고 싶다면 사용하지 않아야 한다. reversed() 반환하는 값이 iterator이기 때문에 원본 리스트가 바뀌지 않으면서 메모리 사용량이 적다. 하지만 바로 사용할 수는 없어 list()를 통해 리스트 형태로 변환 후 사용하게 된다.결론 원본 리스트를 변경해도 상관 없는 경우 → reverse() 원본 리스트를 ..

[Python] 파이썬의 전달 방식은 값 전달? 참조 전달?

파이썬의 전달 방식 정답부터 말하자면, 파이썬의 전달 방식은 call by assignment이다. 다르게는 call by object-reference 또는 call by sharing이라고 부르기도 한다. 모두 같은 의미로, 파이썬에서는 함수 호출 시 인자를 객체에 대한 참조로 전달한다는 것이다.  이해를 돕기 위해 예시를 들자면, int나 str 같은 데이터 타입의 경우 불변 객체이기 때문에 함수 내에서 값을 변경하려 해도 원래 객체에는 영향을 미치지 않게 된다. 반면, list나 set 같은 가변 객체의 경우 함수 내에서 변경을 시도하면 원래 객체도 변경된다. 즉, call by value와 call by reference가 혼합된 형태라고 이해하면 된다.객체 참조 전달 방식불변 객체 → call..

728x90