# 프로그래머스/Javascript : 기초 문제 3일차

- Author: @laetipark
- Published: 2024-01-23
- Updated: 2024-05-21
- Source: http://blex.me/@laetipark/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4javascript-%EA%B8%B0%EC%B4%88-%EB%AC%B8%EC%A0%9C-3%EC%9D%BC%EC%B0%A8
- Tags: 프로그래머스, 코딩테스트, 기초문제

---

## [문자열 섞기](https://school.programmers.co.kr/learn/courses/30/lessons/181942)

### 문제
길이가 같은 두 문자열 `str1`과 `str2`가 주어집니다.

두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.

- 제한사항
	- 1 ≤ `str1`의 길이 = `str2`의 길이 ≤ 10
		- `str1`과 `str2`는 알파벳 소문자로 이루어진 문자열입니다.

### 소스 코드
```javascript
const solution = (str1, str2) => {
  let answer = '';
  for (let i = 0; i < str1.length; i++) {
    answer += str1[i] + str2[i];
  }

  return answer;
};
```

## [문자 리스트를 문자열로 변환하기](https://school.programmers.co.kr/learn/courses/30/lessons/181941)

### 문제
문자들이 담겨있는 배열 `arr`가 주어집니다. `arr`의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.

- 제한사항
	- 1 ≤ `arr`의 길이 ≤ 200
		- `arr`의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열입니다.


### 소스 코드
```javascript
const solution = arr => arr.join('');
```

## [문자열 곱하기](https://school.programmers.co.kr/learn/courses/30/lessons/181940)

### 문제
문자열 `my_string`과 정수 `k`가 주어질 때, `my_string`을 `k`번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

- 제한사항
	- 1 ≤ `my_string`의 길이 ≤ 100
	- `my_string`은 영소문자로만 이루어져 있습니다.
	- 1 ≤ `k` ≤ 100


### 소스 코드
```javascript
const solution = (my_string, k) => {
  let answer = '';
  for (let i = 0; i < k; i++) {
    answer += my_string;
  }

  return answer;
};
```

## [더 크게 합치기](https://school.programmers.co.kr/learn/courses/30/lessons/181939)

### 문제
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.

12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, `a` ⊕ `b`와 2 * `a` ⊕ `b` 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.

단, `a` ⊕ `b`와 `b` ⊕ `a`가 같다면 `a` ⊕ `b`를 return 합니다

- 제한사항
	- 1 ≤ `a`, `b` < 10,000

### 소스 코드
```javascript
const solution = (a, b) => {
  const c = String(a);
  const d = String(b);

  return Number(c + d) > Number(d + c) ? Number(c + d) : Number(d + c);
};
```

- 문자열끼리 합쳐준 다음 Number로 타입 변환 해주었다.

## [두 수의 연산값 비교하기](https://school.programmers.co.kr/learn/courses/30/lessons/181938)

### 문제
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.

12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, `a` ⊕ `b`와 2 * `a` * `b` 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.

단, `a` ⊕ `b`와 2 * `a` * `b`가 같으면 `a` ⊕ `b`를 return 합니다.

- 제한사항
	- 1 ≤ `a`, `b` < 10,000

### 소스 코드
```javascript
const solution = (a, b) => {
  const c = String(a);
  const d = String(b);

  return Number(c + d) > 2 * a * b ? Number(c + d) : 2 * a * b;
};
```
