22.04.26 개발 일기

Leekimoon·2022년 4월 26일
0

개발 일기

목록 보기
2/21

한줄 요약 : 오늘은 문제 풀이가 전부인 하루였다.

오늘은 자바스크립트 강의에서 배웠던 강의를 자료구조에서 배열부분만 복습으로 수강 후 문제풀이를 하는 날이였다.

  • 제로베이스 문제풀이
  1. 수열 최솟값 위치
  2. 체스 세트
  3. 두 수 최대 합
  4. 일곱 난장이
  5. 나무 그리기
  6. Two Sum
  • LeetCode 배열 문제
  1. Max Consecutive Ones(최대 연속 수)
  2. Find Numbers with Even Number of Digits(자릿수가 짝수인 숫자 찾기)
  3. Squares of a Sorted Array(정렬된 배열의 제곱)

현재 참여중인 스터디에서 하루에 LeetCode에서 문제를 정하여 풀고있는 중인데 어제는 5문제로 생각보다 어려운 난이도로 스터디원들의 협의 하에 3문제로 정정하여 오늘은 강의 문제 6문제 LeetCode 3문제를 풀게 되었다.

일단 제로베이스 문제들에서 이야기를 먼저 하면 for문과 if문을 통해서 대부분의 문제를 해결 했지만, 강사님이 강의 초반에 배열을 인덱스로 접근하고 조작 하는게 좋다는 말씀을 하셔서

Array[index] = value;

형태로 배열 인덱스 형태로 값을 수정을 하며 문제를 풀었다.
다만 나무 그리기는 명칭은 나무 그리기지만 for문을 공부하다 보면 접하게 되는 "*"을 피라미스 형태로 출력하는 문제였는데, 해당 접근 방식이 잘 생각 나지 않아서 힌트를 들었는데, 그래도 어려워 결국 답을 보고 해당 문제에 대해서 파악하게 되었다.

이제 LeetCode에 대해서 이야기를 하면,
1번 문제는 이진수 0과 1이 배열 형태로 들어오는데 1의 값이 연속적으로 이어진 최대 횟수를 return 하는 문제였고, 2번 문제는 number 타입의 자릿수가 랜덤 형태로 구성되어서 배열로 들어오고 그 자릿수가 짝수인 것만 return 하는 문제였는데, number 값을 String으로 변경 하여 length 를 측정하여 결과 값을 추출하여 해결 하였다.
3번 문제 같은 경우는 오름차순 정수형태로 배열이 인자로 들어오면 그 값을 제곱해서 해당 값을 다시 정렬해서 return 하는 문제 였다.

문제에 대해서 간단한 리뷰를 하였는데, 결론은 어제 LeetCode에 크게 혼나서 난이도 조절을 하였는데, 오늘은 너무 쉬워서 난이도 조절에 실패 하게 된 것 같아 다시 한번 조절이 절실히 필요해 보였다.

profile
FrontEnd Developer

3개의 댓글

comment-user-thumbnail
2022년 4월 26일

알맞은 난이도의 문제를 찾는게 쉽지 않은 것 같습니다 😅 문제 리뷰 덕분에 어떤 문제인지 한번에 파악이 되네요! 고생하셨습니다!

답글 달기
comment-user-thumbnail
2022년 4월 26일

ㅎㅎ Arrays 101이 정말 알고리즘 걸음마 단계인 것 같습니다..(?) 그래도 덕분에 시간복잡도를 더 신경 써서 다른 코드도 시도해볼 수 있었던 것 같아요 ㅎㅎ 내일 다시 한번 난의도 조절에 대해 논의해봅시다!! 오늘도 너무 수고하셨어요 👏👏

답글 달기
comment-user-thumbnail
2022년 4월 26일

간단하게 요약을 잘 해줘서 좋았습니다.
난이도 조절이 정말 어려운 것 같습니다.

답글 달기