본문 바로가기
코딩테스트1

[코딩 테스트] 4일차: 배열과 문자열

by cogito21_js 2024. 9. 4.
반응형

배열

배열은 여러 값을 하나의 변수에 저장할 수 있는 데이터 구조입니다. 각 값은 인덱스를 사용하여 접근할 수 있습니다.

배열 선언과 초기화

JavaScript에서의 배열 선언과 초기화

// 배열 선언
let numbers = [1, 2, 3, 4, 5];

// 배열 초기화
let fruits = new Array("Apple", "Banana", "Cherry");

console.log(numbers); // [1, 2, 3, 4, 5]
console.log(fruits); // ["Apple", "Banana", "Cherry"]

 

Python에서의 배열 선언과 초기화

Python에서는 배열 대신 리스트를 사용합니다.

# 리스트 선언 및 초기화
numbers = [1, 2, 3, 4, 5]
fruits = ["Apple", "Banana", "Cherry"]

print(numbers) # [1, 2, 3, 4, 5]
print(fruits) # ["Apple", "Banana", "Cherry"]

배열 순회

JavaScript에서의 배열 순회

let numbers = [1, 2, 3, 4, 5];

// for 루프를 사용한 배열 순회
for (let i = 0; i < numbers.length; i++) {
  console.log(numbers[i]);
}

// forEach 메서드를 사용한 배열 순회
numbers.forEach(function(number) {
  console.log(number);
});

 

Python에서의 배열 순회

numbers = [1, 2, 3, 4, 5]

# for 루프를 사용한 리스트 순회
for number in numbers:
    print(number)

배열 메서드

JavaScript에서의 배열 메서드

let fruits = ["Apple", "Banana", "Cherry"];

// push: 배열 끝에 요소 추가
fruits.push("Date");
console.log(fruits); // ["Apple", "Banana", "Cherry", "Date"]

// pop: 배열 끝의 요소 제거
let lastFruit = fruits.pop();
console.log(lastFruit); // "Date"
console.log(fruits); // ["Apple", "Banana", "Cherry"]

// shift: 배열 첫 요소 제거
let firstFruit = fruits.shift();
console.log(firstFruit); // "Apple"
console.log(fruits); // ["Banana", "Cherry"]

// unshift: 배열 첫 요소에 추가
fruits.unshift("Apricot");
console.log(fruits); // ["Apricot", "Banana", "Cherry"]

Python에서의 리스트 메서드

fruits = ["Apple", "Banana", "Cherry"]

# append: 리스트 끝에 요소 추가
fruits.append("Date")
print(fruits) # ["Apple", "Banana", "Cherry", "Date"]

# pop: 리스트 끝의 요소 제거
last_fruit = fruits.pop()
print(last_fruit) # "Date"
print(fruits) # ["Apple", "Banana", "Cherry"]

# pop(0): 리스트 첫 요소 제거
first_fruit = fruits.pop(0)
print(first_fruit) # "Apple"
print(fruits) # ["Banana", "Cherry"]

# insert(0, value): 리스트 첫 요소에 추가
fruits.insert(0, "Apricot")
print(fruits) # ["Apricot", "Banana", "Cherry"]

문자열

문자열은 문자의 집합으로, 텍스트 데이터를 저장하고 조작할 수 있는 데이터 타입입니다.

문자열 선언과 초기화

JavaScript에서의 문자열 선언과 초기화

let greeting = "Hello, world!";
console.log(greeting); // "Hello, world!"

Python에서의 문자열 선언과 초기화

greeting = "Hello, world!"
print(greeting) # "Hello, world!"

문자열 메서드

JavaScript에서의 문자열 메서드

let greeting = "Hello, world!";

// length: 문자열 길이 반환
console.log(greeting.length); // 13

// toUpperCase: 대문자로 변환
console.log(greeting.toUpperCase()); // "HELLO, WORLD!"

// toLowerCase: 소문자로 변환
console.log(greeting.toLowerCase()); // "hello, world!"

// substring: 부분 문자열 추출
console.log(greeting.substring(0, 5)); // "Hello"

// indexOf: 특정 문자 또는 문자열의 인덱스 반환
console.log(greeting.indexOf("world")); // 7

// split: 문자열을 배열로 분할
console.log(greeting.split(", ")); // ["Hello", "world!"]

Python에서의 문자열 메서드

greeting = "Hello, world!"

# len: 문자열 길이 반환
print(len(greeting)) # 13

# upper: 대문자로 변환
print(greeting.upper()) # "HELLO, WORLD!"

# lower: 소문자로 변환
print(greeting.lower()) # "hello, world!"

# slicing: 부분 문자열 추출
print(greeting[0:5]) # "Hello"

# find: 특정 문자 또는 문자열의 인덱스 반환
print(greeting.find("world")) # 7

# split: 문자열을 리스트로 분할
print(greeting.split(", ")) # ["Hello", "world!"]

연습 문제

문제 1: 배열에서 최대값 찾기

주어진 배열에서 최대값을 찾는 프로그램을 작성하세요.

 

JavaScript

function findMax(arr) {
  let max = arr[0];
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
      max = arr[i];
    }
  }
  return max;
}

let numbers = [3, 5, 7, 2, 8];
console.log(findMax(numbers)); // 8

Python

def find_max(arr):
    max_val = arr[0]
    for num in arr[1:]:
        if num > max_val:
            max_val = num
    return max_val

numbers = [3, 5, 7, 2, 8]
print(find_max(numbers)) # 8

문제 2: 문자열 거꾸로 출력

주어진 문자열을 거꾸로 출력하는 프로그램을 작성하세요.

JavaScript

function reverseString(str) {
  return str.split("").reverse().join("");
}

let greeting = "Hello, world!";
console.log(reverseString(greeting)); // "!dlrow ,olleH"

Python

def reverse_string(str):
    return str[::-1]

greeting = "Hello, world!"
print(reverse_string(greeting)) # "!dlrow ,olleH"

결론

이번 글에서는 코딩 테스트 준비를 위해 배열과 문자열에 대해 배웠습니다. 이를 통해 배열 선언과 초기화, 배열 순회, 배열 메서드, 문자열 다루기, 문자열 메서드에 대한 이해를 높일 수 있었습니다. 다음 글에서는 스택과 큐에 대해 알아보겠습니다.

다음 글에서 만나요!

 

반응형