Language

JavaScript만 사용하며 개발을 진행하던 나날이 이어졌는데TypeScript를 쓰시는 분을 보고, TypeScript와 JavaScript와의 차이점이 궁금해졌다.따라서 둘의 차이점을 작성하고,앞으로 상황에 맞는 언어를 쓰기 위해 이 글을 작성한다.  차이점가장 큰 차이는 이름에서도 유추할 수 있듯이 type의 유무이다.Java를 예로 들자면 변수 선언 시 변수 앞에 붙는 char int long String 같은 게JavaScript는 없고, TypeScript는 있다는 것이다.코드를 보면서 이해해보자. // JavaScriptvar a = 1var b = 2var c = a + b위처럼 JavaScript는 변수를 선언할 때 자료형을 명시하지 않는다.// TypeScriptvar a: numbe..
Math.sqrt() 함수는 제곱근을 계산하는 데 사용된다.성능 최적화와 수학적 계산에 주로 사용이 되는데, 그 사용법을 정리하려고 한다. 용도1. 소수 판별 최적화여기서 말하는 소수란 분수 소수의 소수가 아니라 약수가 1과 자기 자신뿐인 소수를 말한다.소수 판별을 할 때 모든 수를 나눠보는 대신, 제곱근까지만 확인하면 시간 복잡도를 줄일 수 있다.예를 들어, n이 소수인지 확인하기 위해서 1부터 n-1까지 나눠볼 수 있지만,이렇게 되면 시간 복잡도가 O(n)이 된다.소수가 아니라면 1과 자신 외에 다른 약수가 있기만 하면 되므로1부터 제곱근 n까지만 확인하면 된다.이렇게 시간 복잡도를 O(n)에서 O( √ n)으로 줄여줄 수 있다.// n이 소수인지 아닌지 판별하는 메소드public boolean is..
[문제]정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.num은 int 범위의 정수입니다.0은 짝수입니다.  [나의 풀이]나머지 연산자인 %if else문class Solution { public String solution(int num) { String answer = ""; if(num%2==0) { answer = "Even"; } else { answer = "Odd"; } return answer; }}  [다른 사람의 풀이 + 내 풀이와의 차이점]조건연산자(삼항연산자)👉 코드 수가 훨씬 줄어들었고, answ..
파이썬은 문제를 풀고 나니 심각성을 알게 되었다. 기존에 하던 자바와 다른 점이 너무 많다.. 1. 실행 결과 x = input() y = x.capitalize() y = x.split() print(y[0][::2], end = '*') print(y[1][3:6]) # 입력: Python programming 더보기 답: Pto*gra capitalize()는 문자열의 첫 글자는 대문자로, 나머지는 소문자로 변환한다. 따라서 y = x.capitalize()에서 y는 Python Programming이 된다. split()을 통해서는 공백 기준으로 y에 배열 형태로 저장한다. y[0]에는 Python이, y[1]에는 Programming이 저장된다. y[0][::2]는 Python이라는 문자열을 처..
1. 슬라이싱 변수[시작:끝:몇씩 건너 뛸 건지] 주의해야 할 점은 끝은 포함하지 않는다는 것이다. a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] a[:7:2] 위와 같이 구현된 프로그램의 실행 결과는 [0, 20, 40, 60]이다. 시작부분에 아무것도 적지 않으면 처음부터 잘라내기 시작한다는 뜻이고, 끝에 7이라고 되어 있으므로 7번째 수 전까지 잘라낸다는 뜻이다. 마지막에 있는 2는 두 칸씩 건너뛴다는 의미이다. a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] a[2:6] 배열은 시작이 0번째부터이다. 따라서 위의 실행결과는 2번째인 숫자 20부터 6번째인 숫자 60 전까지를 잘라낸다. 건너뛰는 부분이 생략되면 그냥 한 칸씩 뛰어 센다는..
파이썬의 for문 구조가 자바 for문의 구조와 조금 달라서 정리를 해보려고 한다. 1. for문의 기본 구조 for 변수 in 리스트(또는 튜플, 문자열): 수행할_문장1 수행할_문장2 ... 자바의 향상된 for문과 비슷하다. 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례대로 변수에 대입해 '수행할_문장1', '수행할_문장2' 등이 수행된다. 2. 예제 - 전형적인 for문 test_list = ['one', 'two', 'three'] for i in text_list: print(i) # 수행 결과 # one # two # three 리스트의 첫 요소인 one이 먼저 i 변수에 대입된 후 print(i) 문장을 수행한다. 다음에 두 번째 요소 two가 i 변수에 대입된 후 pri..
· Language/C
1회15번) 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)#include main() { struct insa { char name[10]; int age; }a[] = {"Kim", 28, "Lee", 38, "Park", 42, "Choi", 31}; struct insa* p; p = a; p++; printf("%s\n", p->name); printf("%d\n", p->age);}더보기답: Lee38    2회2회-16번) 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 출력하시오.)#include main() { int res = ..
· Language/C
1회-7번) 다음 C언어로 구현된 프로그램을 분석하여 5를 입력했을 때 그 실행 결과를 쓰시오. #inlcude int func(int a) { if(a (2) % (3) / 1회-17번) 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. #include int isPrime(int number) { for(int i=2; i
· Language/C
구조체도 포인터를 선언할 수 있으며 구조체 포인터에는 malloc 함수를 사용하여 동적 메모리를 할당할 수 있다. 형식은 아래와 같다. struct 구조체이름 *포인터이름 = malloc(sizeof(struct 구조체이름)); #define_CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include // strcpy 함수가 선언된 헤더 파일 #include // malloc, free 함수가 선언된 헤더 파일 struct Person { // 구조체 정의 char name[20]; // 구조체 멤버1 int age; // 구조체 멤버2 char address[100]; // 구조체 멤버3 }; int main() { struct Per..
· Language/C
1회-2번) 다음 C 언어의 출력값을 작성하시오. 🤔 #include int main() { char a[] = "Art"; char *p = NULL; p = a; printf("%s\n", a); printf("%c\n", *p); printf("%c\n", *a); printf("%s\n", p); for(int i=0; a[i]!='\0'; i++) printf("%c", a[i]); } 더보기 답: Art A A Art Art 풀이 혼자 풀어보려고 끙끙댔으나.. 포인터 너무 어렵다. *p, *a 출력값이 A가 나오는 것이 이해가 잘 가지 않아서 2회차 3번 문제 이후에 문제 풀이를 봤다. 우선, a라는 배열이 1000번째 기억장소를 할당받았다고 가정하자. char *p = NULL은 문자형 포인..
혜발아기
'Language' 카테고리의 글 목록