Git Product home page Git Product logo

java-onboarding's People

Contributors

woowabrie avatar

java-onboarding's Issues

[PROBLEM 7] 친구 관계 정보와 방문 정보 기반으로 친구 추천하기

기능 목록

  • 사용자의 친구를 찾는 기능 : getUserFriends()
    • 사용자 친구 리스트에 저장
  • 친구 관계 정보 기반으로 추천 점수 매기는 기능 : getRecommendScoreByRelationship()
    • key : 새로운 유저
    • value : 추천 점수
    • 친구 관계에 이미 유저의 친구가 포함되어 있다면 추천 점수 10씩 증가
  • 방문 정보 기반으로 추천 점수 매기는 기능 : getRecommendScoreByVisitor()
    • 방문 정보에 있다면 추천 점수 1씩 증가
  • 특정 조건에 따라 결과를 내는 기능 : getTotalRecommendUsers()
    • 점수가 높은 순대로, 점수가 같다면 이름순(알파벳 순)으로 정렬
    • 최대 5명까지만 추천

[PROBLEM 6] 같은 글자가 연속적으로 포함된 닉네임은 사용 제한하기

기능 목록

  • 닉네임을 2개씩 잘라서 맵에 저장하는 기능 : addAllSubNickName()
    • key : 부분 닉네임
    • value : 닉네임이 부분 중복되는 유저의 인덱스를 담은 리스트
  • 닉네임이 중복되는 유저들의 이메일을 찾는 기능 findDuplicateNickNameUserEmail()
    • value의 리스트 크기가 2 이상이면 중복으로 간주
    • Set 을 통해 중복 제거하고 알파벳 순으로 정렬

예외 처리

  • 사용자 이메일의 도메인이 email@com 인지 확인 : isAllowedDomain()

[PROBLEM 1] 페이지 번호 게임을 통해 게임의 승부 가리기

기능 목록

  • 각 참여자의 최대 점수를 찾는 기능
    • 왼쪽 페이지와 오른쪽 페이지 중 최댓값 찾는 기능 : getMaxFromLeftAndRightPage()
    • 한 페이지의 숫자를 더했을때 값을 찾는 기능 : getAddNum()
    • 한 페이지의 숫자를 곱했을때 값을 찾는 기능 : getMultipleNum()
  • 승부 체크 기능 : getWinner()
  • 예외를 처리하는 기능 : checkInvalidPage()

예외 처리

  • 페이지 범위 : isRightPageRange()
    • 첫 페이지와 마지막 페이지가 아닌지 체크
  • 페이지 형식 : isValidPageFormat()
    • 왼쪽 페이지보다 오른쪽 페이지의 숫자가 커야하며, 연속된 수인지 체크

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.