Git Product home page Git Product logo

algorithm's Introduction

Welcome!

2020년 04월 24일에 개설된 단국대학교 알고리즘 스터디 그룹입니다.

알고리즘 유의사항

  • 코드리뷰의 가독성을 위해, 변수명과 로직을 명확하게 하도록 노력합시다
    • 현업에서 내가 짠 코드를 나 혹은 다른 사람이 이해할 수 있게 짜는, 배려가 중요합니다
    • 주석을 달지 않아도 이해할 수 있을 정도의 코드를 짜봅시다.

알고리즘 준비의 중요성

가입 문의

스터디 참여 신청 알림 에 코멘트를 남겨주세요.

PR 규칙

  • PR 이름은 알고리즘 푼 문제 이름
  • label 에 사용한 언어를 추가합니다

알고리즘 연습하기

알고리즘 플랫폼 사이트에 상관 없이 파일/폴더 형식만 잘 정리해서 올려주세요!

파일 및 폴더 구조

PR 양식

PR 제목

image

제목: [알고리즘분류]알고리즘제목 label: 문제푼 곳, 언어, 난이도(옵션)

PR 본문

  1. 문제 출처
  2. input 과 output 설명
  3. 풀이 아이디어

label

  • asignee : 내 아이디
  • reviewer : 이미 문제를 풀었거나, 같은 언어를 쓰는 사람
  • label: 문제 출처(Programmers, BOJ, leetcode, codility... ), 푼 언어(Javascript, python, java, c++, c, ...) , 난이도(HARD, EASY, NOMAL)

Merge 기준

a. assignee 모두 리뷰를 남겼을 때 b. 다음 문제를 풀기 직전 기준 a 혹은 b 둘중 하나만 만족하면됩니다!

리뷰 하는 방법

자신의 의견을 망설이지 않고 표출하는것이 가장 중요하다. 개선점, 칭찬, 이모티콘 등 자유롭게 의견을 표현할 수 있다.

tip

  • 한 문제를 여러가지 방법으로 풀도록 탐구해보기
  • 30분~60분 까지 고민해 본다.
  • 어려우면 솔루션을 찾아본다.
  • 문제 풀이의 흔적을 남기기 위해서 당신의 솔루션을 업로드
  • 가능 하면 매일 매일 풀이하여 일일커밋에 도전해보기!
  • BTS_depth 가이드

algorithm's People

Contributors

12hyeon avatar 6047198844 avatar develop-sell avatar devinan avatar dkdlelk99 avatar dosimpact avatar easyearn77 avatar eyabc avatar go-yj avatar jaewon0702 avatar jeongshin avatar junilhwang avatar khw970421 avatar kth496 avatar miridih-jslee avatar ms9849 avatar munang avatar nyoongoon avatar pul8219 avatar rockmiin avatar sangmandu avatar siyoung-yang avatar sjjyy avatar turquoiseluv avatar wongueshin avatar yeoneed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

algorithm's Issues

JS 코드 관련 질문 올립니다

/**
 * 평균이 최소인 Slice의 시작 위치
 * @param A
 */
function solution(A) {
  const len = A.length
  const sum = (a, b) => a + b
  let min = Infinity, i = 0, resolve = -1
  do {
    const arr1 = A.slice(i, i + 2), avg1 = arr1.reduce(sum) / arr1.length
    const arr2 = A.slice(i, i + 3), avg2 = arr2.reduce(sum) / arr2.length
    let tmp = Math.min(avg1, avg2, min)
    if (tmp !== min) ([ resolve, min ] = [ i, tmp ])
    i += 1
  } while (i < len - 1)
  return resolve
}

const testCase = require("./test.json")
testCase.forEach(({ input, output }) => console.log(input.toString(), '\n', solution(...input), output))

@JunilHwang 형이 작성한 코드인데

    if (tmp !== min) ([ resolve, min ] = [ i, tmp ]) 

이 부분이 어떤 코드? 인지 모르겠어서 올립니다.

counting_elements/max_counters 풀어주세요.

function solution2(N, A) {
  const aLen = A.length;

// 우선 결과를 담을 배열의 요소를 0으로 초기화 시킵니다.
  const arr = new Array(N).fill(0); // O(n)


  for (let i = 0; i < aLen; i++) { // O(n)
    const value = A[i];

// 값이 N을 초과할 경우 배열의 max값으로 배열의 값을 모두 초기화 합니다.
    if (value > N) arr.fill(Math.max(...arr)); // O(n)
// 그렇지 않을 경우 요소의 index의 값을 증가시킵니다.
    else arr[value-1]++;
  }
  return arr;
}

마지막 두개에 타임 에러가 뜹니다.

https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/

CountingElements.FrogRiverOne 문제 도와주세요.

마지막 2개에 timeout 이 뜹니다.

function solution2 (X, A) {
  let time = -1;
  let location = 0;
  if (A.length < X) return -1;

  while (location < X) {
    const newLocation = A.indexOf(++location);
    if (newLocation === -1) return -1;
    else if (newLocation > time) {
      time = newLocation;
    }
  }
  return time;
}

나는 이렇게 풀었어
문제 해결해서 알려줘!!!!
(이렇게 물어보면 안됩니다 ㅎㅎ)

내 코드에 대한 설명 . 어려운 점 구체적으로 !!

1차 면담

1차면담을 진행하지 못한점 죄송합니다 ㅠ

대신 전체 면담을 진행했으면 합니다~!!
전체 면담 내용은, 스터디 운영 방안과
질문, 건의사항, 스터디 진행 후기 각자 하고싶은 이야기
입니다.

방학 추가 스터디

  • 준일 TDD
  • 7월 이달의책
  • 블로그 만들어보기
  • 프론트엔드 면접 스터디
  • 은영이 진행하는 아무 프로젝트 참여
  • VanilaScript 미니 프로젝트

이후 필요하다면 2:1 면담을 할 수 있습니다. 어떤 어려움이 있어 스터디 활동이 저조하다면 그 문제 해결에 도움이 되었으면 해서 진행합니다.

면담전 아래 내용을 작성해서 "박은영" 저에게 카카오톡 갠톡을 보내주시구요~

  1. 스터디 개설 후 활동에 대한 평가

    • 활동 빈도에 따라, 활동 빈도에 대한 이유가 무엇입니까?
  2. 자신이 푼 알고리즘 난이도에 대한 평가

    • 어렵다 / 적절하다 / 쉽다
  3. 코드 리뷰 에 대한 평가

  4. 목표로 하는 회사

  5. 갖추고 싶은 기술스택

  6. 스터디에 바라는점 및 만족도

  7. 진로에 대한 고민 상담

  8. 알고리즘 외에 하고 싶은 스터디

  9. 현재 하고있는 공부

  10. 지금까지 한 공부


본 면담에서는 스터디 운영 방안에 대한 논의를 할 것입니다.
현재는 준일님께서 수고롭게 혼자 리뷰를 해주시고 있습니다.

그래서 제가 제안드리는 방법으로는요

문제를 제일 처음 푼 분은 준일님이 리뷰를 해주시고요
이후에 2빠 부터는

  1. 나의 방식대로 문제를 푼다.
  2. 이전 사람들이 푼 문제를 보고, 자신의 코드를 개선시킨다.
    -> 이전사람의 PR를 참고해도 좋고, 이해가 안된다면 PR의 댓글에 질문도 올려주세요/
  3. 자신의 커밋을 PR 한다. 이때, assign 에 이미 문제를 푼 사람을 배정한다.
    -> 문제푸는 방식은 언어에 상관없이 아이디어를 배울수 있음
    -> 문법에 대한 리뷰는 같은 언어를 사용하는 사람에게 리뷰 받을 수 있습니다.
  4. 이미 푼사람이 평가를 해주면 (개선, 칭찬, 등등) 코드 개선 후 자신이 직접 Merge 한다.

스터디 참여 문의드립니다

안녕하세요. 단국대학교 소프트웨어학과 김태홍이라고 합니다.

우연히 단국대 개발자 스터디를 알게 되었어요.

좋은 취지로 잘 운영되고있는 모임이라고 생각해서 합류하고 싶습니다.

마지막 모집이 7월인 것으로 확인되는데, 다음 지원 기간은 언제로 예정되어있는지 궁금합니다!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.