惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
GbyAI
GbyAI
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
小众软件
小众软件
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
B
Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog

The Tracks of mulder21c

고정된 참조 위치 정보 선형 이미지의 최소 명도 대비 요구사항은 몇 대~ 몇? 단일 문자 단축키 (Character Key Shortcuts) 입력 방식(Input Modalities) 적응성(Adaptable) KWCAG 2.2 변경 사항 개요 Git hook으로 브랜치 이름 규칙 강제하기 댓글 시스템 remark42로 변경기 새 테마로 갈아입힘 Atomic Design + Storybook 적용 후기 json-server에 사용자 인증 구현하기 개발환경 WSL2 + zsh로 갈아타기 Pass function as props in vue 2020년 회고 colum flexbox에서 padding bottom 문제 해결 Nuxt를 통해 보는 프론트엔드 개발자가 하는 일 Nuxt Router kebab-case 처리 JS to SCSS 변환 Nuxt + Storybook 통합 하기 2020 이직 이야기 2020 이직 이야기 2020 이직 이야기 2020 이직 이야기 Windows에서 PM2 실행 오류 해결 오픈톡 정지에 대한 카카오톡 고객센터 후기 배려에 대한 단상 학습이 잘 되지 않는 이유 웹팩 4 마이그레이션 삽질기 babel 7 업데이트 후 node_modules 패키지가 변환되지 않는다면? white space는 4px이다? 정말?
Codility Lesson 3 — tapeEquilibrium
멀더끙 · 2019-09-19 · via The Tracks of mulder21c

Task description

|(A[0] + … + A[P-1]) - (A[P] + … + A[N-1])| 최소값 찾기

How I did solve

  • 배열의 전체 합 sumOfTatal을 구함

  • A의 요소를 탐색해가며

    탐색한 요소들의 합을 구하면 A[0] + … + A[P-1]

    탐색한 요소들의 합을 전체 합에서 빼면 A[P] + … + A[N−1]

  • 둘의 차이 중 최소값을 반환

Solved Code

function solution(A) {
  const sumOfTotal = A.reduce( (acc, entry) => acc + entry, 0 )
  let  diff = Number.MAX_SAFE_INTEGER 
  
  for(let P = -1, sumOfFirstPart = 0, sumOfSecondPart = sumOfTotal; ++P < A.length - 1 ; ) {
    sumOfFirstPart += A[P]
    sumOfSecondPart -= A[P]
    
    diff = Math.min(diff, Math.abs( sumOfFirstPart - sumOfSecondPart ) )
  }
  return diff;
}

Retrospective

  • 두 번만에 풀었다.

  • 첫 번째 풀 때에는 P를 증가시키면서 배열을 slice해서 각 배열의 합의 차이를 구하는 방식으로 했더니 시간 복잡도 때문에 timeout 되더라 하하…

  • codility가 코드를 제출해야만 평가를 해주기 때문에 불편한 감이 많다. 테스트 데이터를 미리 제공해주면 그래도 좀 제출 전에 검증을 해 볼 수 있을 텐데 말이다.

Hero image from pixabay