중간시험

ChungKyu Kim·2022년 1월 9일
0

TIL

목록 보기
12/52

find_longest_word 함수를 만들어 주세요.
주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.
console.log(find_longest_word(["PHP", "Exercises", "Backend"]))
// --> "Exercises"

function find_longest_word(arr) {
  // 아래 코드를 구현해주세요.
  let longarr = arr[0];

  for ( i=0; i < arr.length; i++){
    if(longarr.length < arr[i].length){
      longarr = arr[i];
    }
  }
  return longarr
}
console.log(find_longest_word(["PHP", "Exercises", "Backend"]));

문제 보고 그냥 반복문만 생각이 났다.
longarr이라는 변수에 arr[0]을 선언하고,
for문으로 arr0번째 부터 길이만큼 1씩 증가하면 검사한다.
그리고 if longarr의 길이보다 arr[i]번째의 길이가 크면
더 긴 길이의 arr[i]가 longarr이다
그리고 return !

getFind 함수를 작성하세요.
문자와 문자열이 주어졌을때, getFind 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다. 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.
중요!! indexOf 함수를 사용하지 마세요.
const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2

function getFind(filter, sentence) { 
  // 아래 코드를 작성해주세요.
  for(i=0; i < sentence.length; i++){
    if(filter === sentence[i]){
      return i;
    }
  }
  return -1;
}

const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2

필터로 센텐스를 검사한다라고 생각했다
센텐스의 길이만큼 1씩 증가하며 검사하고,
if필터와 센텐스[i]가 같으면, 그 i를 리턴한다.
그렇지 않으면 -1을 리턴한다.
else를 안쓴걸 마지막에 봤는데, 어렴풋이 없어도 된다라는 글을 본기억이 나서 그냥 test를 돌려봤는데 되었다.

getPrefix 함수를 작성하세요.
문자열이 주어졌을때, -를 기준으로 앞에 있는 문자열을 반환하세요.
console.log(getPrefix('BTC-KRW')) // --> BTC

function getPrefix(str) {
  // 아래 코드를 작성하세요.
let getstr = str.split('-');
let getstr1 = getstr[0];
return getstr1
}
console.log(getPrefix('BTC-KRW'));

이건 좀 운빨이었다.
split? slice?이런 생각이 들어서split검색하고 풀었다.
split()안을 기준으로 끊고 배열로 반환
그리고 getstr1에 getstr의 0번째 인덱스 소환
그리고 리턴

profile
프리비엣!

0개의 댓글