설명

자바스크립트에서 형변환은 데이터를 다른 데이터 타입으로 변환하는 과정을 말한다.

 

 

명시적 형변환

개발자가 직접 데이터 타입을 변환하는 것을 말한다.

예를 들어, 'Number()', 'String()', 'Boolean()' 등의 내장 함수를 사용할 수 있다.

let num = "42";
num = Number(num);      // 문자열 "42"를 숫자 42로 변환
console.log(num);       // 출력: 42

let str = 123;
str = String(str);      // 숫자 123을 문자열 "123"로 변환
console.log(str);       // 출력: "123"

 

 

parseInt

문자열을 정수로 변환한다. 

이 함수는 문자열의 시작 부분부터 숫자가 나오기 전까지의 문자를 무시하고, 첫번째 숫자부터 정수로 변환한다.

parseInt('123')     // 123
parseInt('12abc')   // 12

 

 

parseFloat

문자열을 부동 소수점 숫자로 변환한다.

이 함수는 문자열을 파싱하고, 소수점 이후의 숫자까지 변환한다.

parseFloat('3.14')      // 3.14
parseFlaot('3.14abc')   // 3.14

'JS' 카테고리의 다른 글

addEventListener  (0) 2024.03.10
control statements  (0) 2024.03.07
data type  (0) 2024.03.07
let과 const  (0) 2024.03.07
error  (0) 2024.03.07

설명

자바스크립트는 동적 타입 언어로, 변수의 자료형은 런타임에 결정된다.

 

자료형

Number
String
  • 유니코드 지원 : 다양한 언어의 문자를 포함하여 특수 문자, 이모지 등을 포함
  • 인덱싱 : 문자열은 각 문자에 대해 인덱스를 사용하여 접근 가능
  • 길이 : 'length' 프로퍼티를 사용하여 문자열 길이 가져올 수 있음
  • 불변성 : 한 번 생성되면 수정할 수 없음
  • 큰 따옴표("")나 작은 따옴표('') : 두 가지 방식 동일
  • 템플릿 리터럴 :
const name = "이채림";
const age = 25;

const message = `안녕하세요, 저는 ${name}이고 ${age}살입니다.`;
Boolean
Array
Object
Function
Symbol
null과 undefined
BigInt

 

 

자료형 출력 방법

let name = "이채림";
console.log(typeof(name));   // 방법 1
console.log(typeof name);    // 방법 2

'JS' 카테고리의 다른 글

control statements  (0) 2024.03.07
type conversion  (0) 2024.03.07
let과 const  (0) 2024.03.07
error  (0) 2024.03.07
javascript  (0) 2024.03.07

설명

자바스크립트는 동적 타입 언어로, 값이 전달될 때 자료형이 결정된다.

 

정적 타입 vs 동적 타입

정적 타입(static type)

변수의 자료형이 컴파일 시간에 결정된다.
변수가 선언될 때 명시적으로 자료형을 지정해야 한다.
컴파일러는 변수가 잘못된 자료형의 값을 가지는지를 검사하고, 오류를 컴파일 시간에 발견할 수 있다.

주로 C, C++, Java 등의 언어에서 사용된다.

 

동적 타입(dynamic type)

변수의 자료형이 런타임 시간에 결정된다.
변수를 선언할 때 자료형을 명시적으로 지정하지 않아도 된다.
타입 에러는 런타임 시간에 발견된다.

주로 JavaScript, Python, Ruby 등의 언어에서 사용된다.

 

 

선언할 때 사용되는 키워드

let 

변수를 선언할 때 사용된다.

변수의 값을 재할당할 수 있으나, 같은 이름의 변수를 여러 번 선언할 수 없다.

변수의 스코프는 블록 스코프(block scope)이다. 즉, 변수는 해당 블록 내에서만 유효하다.

let은 초기화할 필요가 없다. 

let a;
console.log(a); // undefined

 

const

상수를 선언할 때 사용된다.

같은 이름의 상수를 재할당하거나 다시 선언할 수 없다.

블록 스코프(block scope)이다.

상수는 선언될 때 반드시 초기화 되어야 한다.

const value = Math.random();
console.log(value < 0.5 ? "윗면" : "아랫면");

'JS' 카테고리의 다른 글

control statements  (0) 2024.03.07
type conversion  (0) 2024.03.07
data type  (0) 2024.03.07
error  (0) 2024.03.07
javascript  (0) 2024.03.07

설명

자바스크립트는 실행했을 때 브라우저 상에 에러가 보이지 않는다.

 

에러 확인하는 방법

브라우저 콘솔

웹 브라우저의 [개발자 도구]를 열고, 콘솔 탭을 확인한다. 

여기에는 자바스크립트 오류 및 경고 메시지가 표시된다.

[개발자 도구] 여는 법 
윈도우 : [F12]
맥: [option] + [command] + [i]

 

로그

console.log()를 사용하여 코드의 특정 지점에서 변수 값을 출력하여 디버깅한다.

 

 

주의

여러 개의 에러가 발생했을 때 반드시 첫번째 에러를 잡는 것이 중요하다.

이유는 두번째 에러 이상의 경우는 첫번째 에러 때문에 연속 발생된 경우가 많기 때문이다.

'JS' 카테고리의 다른 글

control statements  (0) 2024.03.07
type conversion  (0) 2024.03.07
data type  (0) 2024.03.07
let과 const  (0) 2024.03.07
javascript  (0) 2024.03.07

설명

자바스크립트(JavaScript)는 객체 기반의 스크립트 프로그래밍 언어이다.
이 언어는 웹 브라우저 내에서 주로 사용되며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있다.
ECMA 스크립트의 표준 사양을 가장 잘 구현한 언어로 인정받고 있다.

 

 

<script> 태그

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 일반적으로 <head> 태그 내에 위치시킴 
    </script>
</head>

<body>
    <!-- html 코드 -->
    <script>
        // 성능 최적화나 페이지 로딩 속도를 높이기 위해 <body> 태그 끝 부분에 위치시키기도 함
    </script>
</body>

</html>

 

 

출력

document 사용

웹 페이지의 내용을 출력하는 방법

<script>
	document.write('홍길동' + '<br>');
	document.write('임꺽정' + '<br>');
</script>

 

console 사용

콘솔에 출력하는 방법

<script>
	console.log('안녕하세요');
	console.log('감사합니다');
</script>

'JS' 카테고리의 다른 글

control statements  (0) 2024.03.07
type conversion  (0) 2024.03.07
data type  (0) 2024.03.07
let과 const  (0) 2024.03.07
error  (0) 2024.03.07

# 6088 : n번째 수를 출력 (등차수열)

a, d, n = input().split()
a = int(a) # 시작값
d = int(d) # 공차
n = int(n) # 몇번째 수 인지 의미
AP = a + (n-1) * d
print(AP)

↓ 다른 정답 코드

a, d, n = input().split()
a = int(a) # 시작값
d = int(d) # 공차
n = int(n) # 몇번째 수 인지 의미
AP = a
for i in range(2, n+1):
    AP += d
print(AP)

 

# 6089 : n번째 수를 출력 (등비수열)

a, r, n = input().split()
a = int(a) # 시작값
r = int(r) # 공비
n = int(n) # 몇번째 수 인지 의미
GP = a * (r ** (n-1))
print(GP)

↓ 다른 정답 코드

a, r, n = input().split()
a = int(a) # 시작값
r = int(r) # 공비
n = int(n) # 몇번째 수 인지 의미
for i in range(1, n):
    a *= r
print(a)

 

# 6090 : n번째 수를 출력

a, m, d, n = input().split()
a = int(a) # 시작값
m = int(m) # 곱할값
d = int(d) # 더할값
n = int(n) # 몇번째 수 인지 의미
for i in range(1, n):
  a = a * m + d
print(a)

 

# 6091 : 3명이 다시 모두 함께 방문해 문제를 풀어보는 날을 출력 (최소공배수)

a, b, c = input().split()
a = int(a)
b = int(b)
c = int(c)
day = 1
while day % a != 0 or day % b != 0 or day % c != 0:
    day += 1
print(day)

 

# 6092 : 1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한 줄로 출력

# 6093 : 출석을 부른 번호 순서를 바꾸어 공백을 두고 출력

# 6094 : 출석을 부른 번호 중에 가장 빠른 번호를 출력

# 6095 : 흰 돌이 올려진 바둑판 상황을 출력 (흰 돌 있는 곳은 1, 없는 곳은 0으로 출력)

# 6096 : 십자 뒤집기 결과를 출력

# 6097 : 모든 막대를 놓은 격자판의 상태를 출력 (막대에 가려진 경우 1, 아닌 경우 0으로 출력)

# 6098 : 성실한 개미가 이동한 경로를 9로 표시해 출력

 

https://codeup.kr/index.php

 

CodeUp

☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks       DEV C++ ☆ 추천 온라인 IDE : C   C++11   Python3   Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.5 ★ C++로 제출시 void main()을 사용하면

codeup.kr

'CodeUp > Python' 카테고리의 다른 글

[CodeUp] 6077-6087 (Python)  (0) 2022.11.13
[CodeUp] 6071-6076 (Python)  (0) 2022.11.12
[CodeUp] 6065-6070 (Python)  (0) 2022.11.11
[CodeUp] 6063-6064 (Python)  (0) 2022.11.10
[CodeUp] 6059-6062 (Python)  (0) 2022.11.09

# 6077 : 1부터 그 수까지 짝수만 합해 출력

n = int(input())
sum = 0
for i in range(0, n+1, 2):
    sum = sum + i
print(sum)

↓ 다른 정답 코드 (1부터니까 이게 맞음)

n = int(input())
sum = 0
for i in range(1, n+1):
    if i % 2 == 0:
        sum += i
print(sum)

 

# 6078 : 영문 소문자 'q'가 입력될 때까지 입력한 문자를 계속 출력

while True:
    ch = input()
    if ch != 'q':
        print(ch)
    else:
        print(ch)
        break

↓ 다른 정답 코드

while True:
    ch = input()
    print(ch)
    if ch == 'q':
        break

 

# 6079 : 1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력

n = int(input())
sum = 0
i = 1
while True:
  if sum < n:
    sum += i
    i += 1
  else:
    print(i-1)
    break

↓ 다른 정답 코드

n = int(input())
sum = 0
i = 0
while sum < n:
    i += 1
    sum += i
print(i)

 

# 6080 : 나올 수 있는 주사위의 숫자를 한 세트씩 줄을 바꿔 모두 출력, 첫 번째 수는 n, 두번째 수는 m으로 고정해 1부터 오름차순 순서로 출력

n, m = input().split()
n = int(n)
m = int(m)
for i in range(1, n+1):
    for j in range(1, m+1):
        print(i, j)

 

# 6081 : 입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력, 계산 결과도 16진수로 출력 (틀린코드)

hex = input()
for i in range(1, 16):
    print('%X' % hex, '*%X' % i, '=%X' % (hex*i), sep='')
--> TypeError: '%X' format: an integer is required, not str
--> hex는 문자열이여서 오류남

 

# 6081 : 입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력, 계산 결과도 16진수로 출력

hex = input()
hex = int(hex, 16)
for i in range(1, 16):
    print('%X' % hex, '*%X' % i, '=%X' % (hex*i), sep='')

// n = int(n, 16) : n을 16진수로 저장한다.

// print(..., sep='') : 공백없이 모두 붙여 출력해준다.

↓ 다른 정답 코드

hex = int(input(), 16)
for i in range(1, 16) :
	print("%X*%X=%X"%(hex, i, hex*i))

 

# 6082 : 1부터 그 수까지 순서대로 공백을 두고 수를 출력하는데, 3 또는 6 또는 9가 포함 되어 있는 수인 경우, 그 수 대신 영문 대문자 X를 출력

n = int(input())
for i in range(1, n+1):
    if i % 10 == 3 or i % 10 == 6 or i % 10 == 9:
        print("X", end=' ')
    else:
        print(i, end=' ')

// print(..., end=' ') : 개행 대신 공백으로 출력해준다.

 

# 6083 : 만들 수 있는 rgb 색의 정보를 오름차순으로 줄을 바꿔 출력하고, 마지막에 그 개수를 출력

r, g, b = input().split()
r = int(r)
g = int(g)
b = int(b)
cnt = 0
for i in range(r):
    for j in range(g):
        for k in range(b):
            print(i, j, k)
            cnt += 1
print(cnt)

↓ 다른 정답 코드 (시간 더 짧음)

r, g, b = input().split()
r = int(r)
g = int(g)
b = int(b)
cnt = 0
for i in range(r):
    for j in range(g):
        for k in range(b):
            print(i, j, k)
print(r*g*b)

 

# 6084 : 필요한 저장 공간을 MB 단위로 바꾸어 출력 (단, 소수점 첫째 자리까지의 정확도로 출력하고 MB를 공백을 두고 출력)

h, b, c, s = input().split()
h = int(h)
b = int(b)
c = int(c)
s = int(s)
mb = h * b * c * s / 8 / 1024 / 1024
print("%.1f MB" % mb)

↓ 다른 정답 코드

h, b, c, s = input().split()
h = int(h)
b = int(b)
c = int(c)
s = int(s)
print(round(h * b * c * s / 8 / 1024 / 1024, 1), "MB")

 

# 6085 : 필요한 저장 공간을 MB 단위로 바꾸어 출력 (단, 소수점 셋째 자리에서 반올림하여 둘째 자리까지 출력)

w, h, b = input().split()
w = int(w)
h = int(h)
b = int(b)
mb = w * h * b / 8 / 1024 / 1024
print("%.2f MB" % mb)

 

# 6086 : 순서대로 계속 더해가다가, 그 합이 입력된 정수보다 커지거나 같아지는 경우, 그때까지의 합을 출력

n = int(input())
sum = 0
i = 1
while True:
    if sum < n:
        sum += i
        i += 1
    else:
        print(sum)
        break

↓ 다른 정답 코드 (시간이 더 짧음)

n = int(input())
sum = 0
i = 1
while True:
    sum += i
    i += 1
    if sum>= n:
        break
print(sum)

 

# 6087 : 1부터 입력한 정수보다 작거나 같을 때까지 1씩 증가시켜 출력하되 3의 배수는 출력하지 않음

n = int(input())
for i in range(1, n+1):
    if i % 3 == 0:
        continue
    else:
        print(i, end=' ')

 

https://codeup.kr/index.php

 

CodeUp

☆ 파이썬 다운로드 : 파이썬3 ☆ 무료 C언어 IDE : Code::blocks       DEV C++ ☆ 추천 온라인 IDE : C   C++11   Python3   Java ☆ 채점 가능 언어 : C, C++, JAVA, Python 3.5 ★ C++로 제출시 void main()을 사용하면

codeup.kr

'CodeUp > Python' 카테고리의 다른 글

[CodeUp] 6088-6091 (Python)  (0) 2022.11.14
[CodeUp] 6071-6076 (Python)  (0) 2022.11.12
[CodeUp] 6065-6070 (Python)  (0) 2022.11.11
[CodeUp] 6063-6064 (Python)  (0) 2022.11.10
[CodeUp] 6059-6062 (Python)  (0) 2022.11.09

# 6071 : 입력된 정수를 줄을 바꿔 하나씩 출력, 0이 입력되면 종료(0은 출력 X)

while True:
    n = int(input())
    if n != 0:
        print(n)
    else:
        break;

 

# 6072 : 1만큼씩 줄이면서 한 줄에 1개씩 카운트다운 수를 출력 (틀린 코드)

n = int(input())
while n != 0:
    print(n)
    n--

 

// Python에는 증감 연산자(++, --)를 지원하지 않는다.

 

# 6072 : 1만큼씩 줄이면서 한 줄에 1개씩 카운트다운 수를 출력

n = int(input())
while n != 0:
    print(n)
    n -= 1

// 증감 연산 시 +=, -= 로 표현한다.

 

# 6073 : 1만큼씩 줄이면서 카운트다운 수가 0이 될 때까지 한 줄에 1개씩 출력

n = int(input())
while n != 0:
    n -= 1
    print(n)

 

# 6074 : a부터 입력한 문자까지 순서대로 공백을 두고 한 줄로 출력

c = ord(input())
t = ord('a')
while t<=c :
    print(chr(t), end=' ')
    t += 1

// print(..., end=' ')는 값 출력 후 공백문자 ' '를 출력(줄 바꿈 X, 빈칸만)

 

# 6075 : 0부터 그 수까지 줄을 바꿔 한 개씩 출력

n = int(input())
s = 0
while s < n+1:
    print(s)
    s += 1

 다른 정답 코

n = int(input())
s = 0
while s <= n:
    print(s)
    s += 1

 

# 6076 : 0부터 그 수까지 줄을 바꿔 한 개씩 출력

n = int(input())
for i in range(0,n+1,1):
    print(i)

// range(끝), range(시작, 끝), range(시작, 끝, 증감)

'CodeUp > Python' 카테고리의 다른 글

[CodeUp] 6088-6091 (Python)  (0) 2022.11.14
[CodeUp] 6077-6087 (Python)  (0) 2022.11.13
[CodeUp] 6065-6070 (Python)  (0) 2022.11.11
[CodeUp] 6063-6064 (Python)  (0) 2022.11.10
[CodeUp] 6059-6062 (Python)  (0) 2022.11.09

+ Recent posts