Study 4.

WorldWannyWeb.·2021년 3월 29일
0

Study

목록 보기
4/35
post-thumbnail

2021-03-26


2개의 코드 문제, 2개의 면접대비 문제


1. 서울에서 김서방찾기(Programmers)

문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.

제한 조건
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.

입출력 예
seoul return
["Jane", "Kim"] "김서방은 1에 있다"

Answer

code

function solution(seoul) {
  for (let i = 0; i < seoul.length; i++) {
    if (seoul[i] === 'Kim') return `김서방은 ${i}에 있다`;
  }
}

description
seoul에 있는 i번째 string 중에 Kim이 맞으면 i를 김서방은~ 문장에 집어넣었다.

2. k번째수(Programmers)

문제 설명
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.

예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면

  1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.
  2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.
  3. 2에서 나온 배열의 3번째 숫자는 5입니다.

배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.

제한 조건
array의 길이는 1 이상 100 이하입니다.
array의 각 원소는 1 이상 100 이하입니다.
commands의 길이는 1 이상 50 이하입니다.
commands의 각 원소는 길이가 3입니다.

입출력 예
array commands return
[1, 5, 2, 6, 3, 7, 4][2, 5, 3], [4, 4, 1], [1, 7, 3]]

입출력 예 설명
[1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다.
[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다.
[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다.

Answer

code

function solution(array, commands) {
  let result = [];
  for (let i = 0; i < commands.length; i++) {
    let arr = array.slice(commands[i][0] - 1, commands[i][1]);
    arr.sort(function (a, b) {
      return a - b;
    });
    result.push(arr[commands[i][2] - 1]);
  }
  return result;
}

description
commands의 i번째 배열에서 0번째는 시작점, 1번째는 끝점, 2번째는 return할 수의 위치 로 보고, slice를 가지고 자른 후에, sort를 가지고 정렬했고, 빈 []에 push해서 넣어주었다. slice에서 index로 잘라야하므로, commands[i][0]에 -1을 해주었다. push도 마찬가지로 -1을 해주었다.


[Personal Question]

1. 새로운 기술들을 어떻게 학습하시나요?

Answer.
새로운 기술들에 대한 학습은 공식문서를 위주로 학습하려 하는 편입니다. 공식문서만큼 정확하고, 확실한 학습페이지가 없다고 생각합니다. 공식문서에 정보가 많지 않다면, 다른 블로그를 많이 찾아보는 편입니다. react같은 경우, 공식문서가 무척 잘되어있는 편이어서 react를 학습할 때는, 공식문서에 나와있는 예시를 많이 읽고, 코드를 쳐보는 방법으로 학습했습니다. 그 후, react관련 블로그를 찾아, 다양한 예시들과 적용방법을 읽고, 습득하려 노력했습니다.

2. 주변 사람들(친구, 동료)은 본인을 어떤 사람으로 평가할까요?

Answer.
저의 주변 친구들과 동료들로부터 친화력이 좋고, 밝은 사람이라는 이야기를 많이 들었습니다. 이번 코드스테이츠 부트캠프에서도 페어활동을 하면서 다양한 사람들과 만날 수 있었는데요. 처음 만난 사람과의 협업에서도 즐겁게 일을 하기 위해 제가 먼저 아이스크레이킹을 하고, 편안한 분위기를 조성하려 노력했습니다. 이부분에 대해 높이 평가해주는 사람이 많았습니다. 또한 상대방의 이야기를 잘 듣고, 상대방의 의견과 저의 의견에서 합의점을 찾으려는 태도에 대해서도 긍정적인 평가를 받았습니다.

profile
와니완의 월드와이드와니웹🐥

0개의 댓글