inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

3. 멘토링

제 실력이 미흡해서 그런지 푸는데 엄청 오래 걸렸습니다...

309

rhkdtjd_12

작성한 질문수 138

0

포기 하지 않고 끝까지 풀어서 정답을 맞추게 된것 같습니다.

문제가 생각 보다 어려운것 같습니다 ㅠㅠ

function solution(arr) {
        let answer = [];
        let mento = [];
        const maxNum = [];
        for (let i = 0; i < arr.length; i++) {
          for (let j = 0; j < arr[i].length; j++) {
            const index = arr[i].indexOf(arr[0][j]);
            for (let k = 0; k < index; k++) {
              maxNum.push([arr[0][j], arr[i][k]]);
            }
            for (let z = 0; z < arr[i].length; z++) {
              if (j < z) {
                mento.push([arr[i][j], arr[i][z]]);
              }
            }
          }
        }

        for (p = 0; p < maxNum.length; p++) {
          mento = mento.filter(
            (t) => !(maxNum[p][0] === t[0] && maxNum[p][1] === t[1])
          );
        }

        answer = new Set(mento.map((v) => v.join("")));

        return [...answer].length;
      }

      const question = [
        [3, 4, 1, 2],
        [4, 3, 2, 1],
        [3, 1, 4, 2],
      ];

      console.log(solution(question));

좋은 코드는 아닌것 같지만, 최대한 노력을 했습니다

const question = [
        [3, 4, 1, 2],
        [4, 3, 2, 1],
        [3, 1, 4, 2],
      ];

console.log(solution(question));

let arr = [[1, 2, 3, 4, 5]];
console.log(solution(arr));
let arr2 = [
        [19, 15, 4, 17, 12, 18, 6, 3, 11, 14, 1, 8, 13, 9, 2, 20, 5, 16, 10, 7],
        [5, 20, 18, 17, 14, 11, 19, 3, 10, 16, 6, 8, 13, 9, 2, 12, 4, 7, 1, 15],
 ];
console.log(solution(arr2));

다른 답들도 다 정답은 나옵니다.

javascript 코딩-테스트

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
rhkdtjd_12님, 알고리즘 문제를 포기하지 않고 끝까지 풀어내신 점 대단합니다. 문제가 어렵게 느껴져도 포기하지 않고 계속 도전하는 자세가 중요한데, 잘 하고 계시네요.

제시해 주신 코드를 보면, 난이도가 있는 문제를 해결하기 위해 여러 반복문과 필터링을 사용하여 로직을 구현하셨습니다. 코드 최적화나 가독성 측면에서 개선할 여지는 있겠지만, 중요한 것은 문제를 해결했다는 점입니다. 효율적인 코드를 작성하는 것은 지속적인 연습과 다른 사람들의 코드를 리뷰하며 배우는 과정에서 자연스럽게 향상될 것입니다.

만약 코드에 대해 더 피드백을 받고 싶으시다면, 인프런의 ‘멘토링 서비스’를 활용해 보시는 것도 좋은 방법입니다. 전문 지식공유자에게 직접 코드 리뷰를 받아 볼 수 있어 개선점을 찾고 학습하는 데에 큰 도움이 될 겁니다.

멘토링 서비스에 대한 정보는 여기에서 확인하실 수 있습니다:
- 멘토링 신청하러 가기: https://www.inflearn.com/mentors
- 멘토링 후기 살펴보기: https://www.inflearn.com/community/mentorings-reviews

앞으로도 개발에 관한 궁금한 점이나 도움이 필요할 때 언제든지 문의해 주세요. 계속해서 성장해 나가는 rhkdtjd_12님의 모습을 응원하겠습니다!

continue를 사용하는 이유

0

79

2

정렬 가능 여부 판단하기

0

64

2

알고리즘 학습법 관련해서 질문드립니다.

0

86

1

코드 리뷰 부탁드립니다!

0

90

1

indexOf를 사용해서 풀어보았습니다 !!

0

68

1

저는 이런식으로 구현 해보았습니다 !!

0

64

1

12,13,14 강의 소리만 나오고 검은 화면입니다

0

100

3

반복문 최소화하고 indexOf 사용해서 풀어봤습니다

0

63

1

영상 보기 전에 직접 풀어봤습니다.

0

74

1

섹션1의 17번문제 이 풀이로 풀어도 될까요?

0

135

2

정규표현식으로 처리해도 상관없나요 ?

0

120

2

3칸씩 건너뛸 수 있을 경우

0

125

2

강의에 대해 질문있습니다.

0

135

2

Object와 Set을 이용해 풀어봤습니다.

0

117

2

이렇게 해도 되나요?

0

102

2

선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.

0

145

2

이렇게 풀어도 괜찮을까요?

0

138

1

이렇게 풀어도 괜찮을까요?

0

112

1

모든 아나그램 찾기에서 시간복잡도

0

98

1

코드리뷰 부탁드립니다.

0

130

1

for loop 탈출은 return 문으로 해도 되지 않나요?

0

133

1

투포인트알고리즘으로 풀어봤습니다.

0

142

0

코드 리뷰 부탁드립니다.

0

120

1

코드 맞게 작성한 거 아닌가여??

0

146

1