본문 바로가기

전체 글

(38)
2- 2 등가와 형 1. 변수형 자비스크립트에서의 자료형에 대해 중요한 특징이 있다. 선언만 되고 값이 할당되지 않은 변수에 undefined 가 할당된다는 것이다. typeof를 활용하여 이를 확인해 볼 수 있다. age의 자료형은 number 이지만 값이 할당되지 않은 blank 라는 변수의 자료형은 undefined 인 것을 알 수 있다. 2. 참/ 거짓 자바스크립트의 if () 함수 내의 매개변수는 boolean 형이 들어간다. 자바스크립트에서 false로 인정되는 몇 가지 경우가 있다. (암기!!) - false - 0 - NaN - undefined - null 자바스크립트에서 true 인 경우 - ture - 0이 아닌 값 - 비어 있지 않은 문자열 - 비어 있지 않은 객체 printIfTrue 라는 함수가 n..
2 - 1 var 와 let 1. var 를 활용한 선언 var를 if 문 안에 선언하지 않았음에도 콘솔에 출력하면 12를 출력하며 오류가 나타나지 않는다. 이것이 var 에 대한 중요한 특징이다. var 변수의 범위는 가장 가까운 함수 범위이다. var 는 변수를 어디에서 선언하든 변수 선언이 함수의 맨 앞으로 이동한다. (변수 호이스팅) var a = 1 이라고 전역변수로 선언을 했음에도 콘솔을 출력하면 전역변수 값이 아닌 4가 출력된다. four() 함수 안에서 재선언 되었기 때문이다. 2. let 을 활용한 선언 let을 사용한 변수는 변수가 선언된 블록({})안에서만 유효하다. 똑같은 함수를 let 을 이용하여 선언한다면 ReferenceError가 발생한다. if문 블록 안에서만 사용할 수 있기 때문이다. if 문 안으로..
백준[11021] A+B -7 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 풀이 각 케이스 마다 "Case #x:" 를 붙여서 출력한 다음, A+B 를 출력해야 하며 테스트 케이스 번호는 1부터 시작한다. 첫줄에 테스트 케이스의 개수를 주어야 하므로 변수 t 를 input으로 입력 받은 뒤 정수형으로 변환해준다. 테스트 케이스 개수가 곧 x 값이므로 for문의 변수값을 이용하여 case 번호를 붙여준다. for 문 안에 입력받을 a,b를 split()으로 각 각 입력받고, 정수형으로 변환한다. i 는 정수형이기 때문에 str()으로 감싸주고 문자열을 이어야 한다. print를 이용하여 예제문을 출력한다. 문제를 풀면서 새롭게 알게 된 것: 처음에 i 를 + 연산자를 이용하여 이으려고 하였으나 정수..
백준[2742] 기찍N 문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 풀이 앞서 풀었던 N찍기와 마찬가지로 range 함수를 활용하는 문제이다. range(시작값, 종료값, 간격) 에서 간격이 -1이라는 것은 n 부터 0+1 까지 1칸씩 이동하여 나타내는 것을 말한다. 따라서 n 부터 0+1 인 1 까지 내림차순으로 출력된다. 풀면서 알게 된 점 : range(start,stop,step)
백준[2741] N찍기 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 풀이 입력값을 정수형으로 받기 위하여 int 함수로 감싼다. range함수는 range(시작값, 종료값) 인데, 종료값은 그 값의 앞까지만 출력하기 때문에 주어진 수를 출력하기 위해서는 +1 해야 한다. print() 함수를 이용하여 i 값을 출력하면 예제 출력값이 나온다.
백준[15552] 빠른 A+B 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다. 또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다. 풀이 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력해야 하는 문제이다. 예제 출력 값이 5개인 것으로 보아 예제 입력의 첫번째 값은 for 문의 반복횟수..
백준 [8393] 합 문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 풀이 입력값인 n 을 첫째줄에서 받는다. 입력값을 받을 때 정수형으로 변환하는 것 잊지 말기 1부터 n까지의 합을 받을 변수(sum)을 선언해 초기 값으로 0을 준다. for 문 앞에 변수 만들어 놓는 거 잊지 말기. for문에서의 range(초기값,마지막값,간격) 는 사용할 때 주의할 점이 있다. 마지막 값은 주어진 숫자의 앞의 값을 의미한다. 초기값의 기본값은 0 이다. 따라서 마지막값은 주어진 값에서 -1 하여 생각해야 한다. 입력값에서 1부터 n까지의 합이라고 했으니까 n을 포함시키기 위해서는 n+1 을 해야한다. n이 3이라고 가정하면 1부터 3까지의 합을 구하게 된다. for문이 돌아가는 것을 자세히 나타내면, i = ..
백준 [10950] A+B - 3 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 풀이 for문을 이용한 문제이다. 각 줄에 A 와 B가 주어지도록 하기 위해서 for 문 안에서a 와 b를 입력 받는다. map을 이용하여 문자형인 숫자들을 숫자형으로 변환하여 각 각 입력받는다. for문에 임의의 변수명을 짓고 t 만큼 반복하도록 range를 설정한다. 출력할 a+b 값을 print함수에 출력한다.