목록분류 전체보기 (163)
꿈꾸는 개발자의 블로그
문제 링크 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 풀이 처음에는 상근이가 가지고 있는 숫자 카드 리스트의 개수를 count 함수를 사용하여 구하려 하였지만, 시간 초과가 발생했다. 그래서 알게된 것이 Counter 모듈이다. 또 다른 풀이 방법으로 Dictionary를 사용하여 개수를 카운트 해주었다. 1. Counter 2. Dictionary 전체 코드 1. Counter 사용 from col..
변수를 선언하는 var, let 키워드는 서로 다른 스코프를 가지고 있다는 점에서 차이가 있다. 이 때문에 같은 코드를 실행했더라도 다른 결과를 출력하는 모습을 볼 수 있다. 내가 의도한 것은 1초 후에 0, 1, 2, ... 9 가 출력되는 것이었다. 왜 의도한대로 되지 않는지, 변수에 무슨 차이가 있는지 정리해보았다. var 다음과 같이 코드를 짰을 때, 함수 스코프를 가지는 var 키워드의 경우에는 10을 10번 출력한다. for (var i = 0; i < 10; i++) { setTimeout(function() { console.log(i) }, 1000) } for문이 시작하고 하위 setTimeout 함수도 1초 후에 시작되는데, 이 때 for문은 무척 빠른 속도로 돌기 때문에 setTim..
이미지 파일로 배경을 꽉 채웠는데, 그 위에 텍스트를 화이트로 뿌리니 잘 보이지 않아서 한 방법이다! 배경색을 똑같이 설정하고 알파값만 주어 어둡게 하였는데, 이 때 사용한 그레디언트 방법 외에도 다양한 방법이 있어서 적어본다. 그레디언트 사용하기 1. 선형 그레이디언트 : 직선으로 진행하는 색상 무늬를 생성합니다. background: linear-gradient(blue, pink); 2. 방향 전환 : 방향을 지정함으로써 그레이디언트를 회전할 수 있습니다. background: linear-gradient(to right, blue, pink); 3. 대각선 그래디언트 : 한쪽 모서리에서 다른 쪽 모서리를 잇는 대각선 방향으로 진행하도록 할 수도 있습니다. background: linear-grad..
깊은 복사와 얕은복사 자바스크립트로 구현을 하다보면 데이터 복사를 할 때가 있는데, 이 때 나오는 개념인 깊은 복사와 얕은 복사에 대해 정리해보려 한다. 간단히 요약하면, 깊은 복사는 실제 값을 복사하고 얕은 복사는 객체의 참조 값(주소 값)을 복사한다. 자바스크립트 데이터 타입에는 원시 타입과 참조 타입이 있는데, 이 때 원시 타입의 값은 깊은 복사를 하고, 참조 타입의 값은 얕은 복사를 한다고 보면 된다. 타입 원시 타입 (Primitive Type) 참조 타입 (Object/Reference Type) 종류 1. number 2. string) 3. boolean 4. undefined 5. null 6. symbol 1. 객체 2. 배열 3. 함수 4. 정규 표현식 깊은 복사 원시 타입의 값을 복..
매번 헷갈리는 나누기 연산자를 정리해보았다! 몫과 나머지를 구하는 것 외에도 중요한 것은 데이터 타입과 0으로 나눌때인 것 같다. 특히 0으로 나눌 때는 에러가 나기 때문에 주의해야한다. 나누기 연산자 연산자 설명 / 나누어 몫을 구함 (소수점 포함), 결과가 float 자료형(Data Type)으로 처리됨 // 나누어 몫을 구함 (소수점 이하 버리고, 정수 부분만 포함) % 나머지 코드 예시 print(10 / 5)# 2.0 print(10 // 5)# 2 print(10 % 5)# 0 print(10 / 3)# 3.3333333333333335 print(10 // 3)# 3 print(10 % 3)# 1 print(0 / 10) # 0.0 print(10 / 0)# ZeroDivisionError:..