코딩

- 문제- 코드function solution(a, b, n) { var answer = 0; while(n >= a) { answer += Math.floor(n/a)*b n = Math.floor(n / a) * b + n % a; } return answer;}-해설우선 n을 a개로 나누는 것이 목적이기 때문에 n이 a개만큼 더 못나누는 상황 즉 n >= a 일 경우가 안될 때까지 while문으로 나누게 끔 하였다.이제 answer에는 (n / a) 한값에 * b 몇병을 추가적으로 주는지 곱해서 우선 answer에 넣어두고, n의 값은 n / a * b 에 n % a를 더해주어야한다. n % a를 하는 이유는 위의 사진을 보면 ..
· 코딩/TIL
[오늘의 코딩테스트]추후 추가예정[오늘의 한일]● 객체 지향 - 객체 지향 이란?객체 지향은 소프트웨어 개발에서 주요 구성 요소를 기능(Function)이 아닌 객체(Object)로 삼으며 “어떤 객체가 어떤 일을 할 것인가”에 초점을 맞춥니다.즉, 객체를 도출하고 각각의 역할을 명확하게 정의하는 것에 초점을 맞추는 방법론입니다. - 객체 지향의 4원칙1. 캡슐화객체 내부의 세부적인 사항을 감추는 것, 즉 중요한 정보를 외부로 노출시키지 않도록 만드는 것을 캡슐화(Encapsulation)라고 합니다./** Encapsulation **/class User { private name: string; // name 변수를 외부에서 접근을 할 수 없게 만듭니다. private age: number; //..
· 코딩/TIL
[오늘의 코딩테스트]추후 추가 예정 [오늘의 한일]● 팀 매칭 기능 추가● 상점 가챠 랜덤 로직 구현● 랭킹 시스템 구현 ● 팀 매칭 기능 추가기존 매칭 시스템의 경우 따로 상대방을 파라미터 값으로 받아와 로그인한 유저와 경기를 붙는 시스템을 구현하였다. 이렇게 할 경우 너무 게임성이 단조로워져서 레이팅(점수)가 비슷한 상대 중 랜덤 5명중 한명을 골라서 매칭을 하게끔 구현해 주었다. 우선 그러기 위해서 데이터베이스를 추가해주었다.위와 같이 매치큐라는 모델을 만들어주었고, 팀이 다 완성이 된 유저를 기준으로 유저가 팀을 다완성 시킬 때 매치큐에 유저를 넣어줘서 매치에 참여할 조건(팀이 완성)을 모두 채운 유저들을 기준으로 매칭을 잡아주게끔 구현하였다.const matchMaking = async (myU..
문제코드function solution(numbers) { var answer = []; for(let i = 0; i a - b); return answer;}풀이우선 문제에 대한 이해를 해야한다. 우리는 모든 경우의 수의 덧셈을 우선 진행해야하기 때문에, 선택 정렬로 해결 하였다. 모든 덧셈을 하되, 겹치는 부분이 있으면 정답에 중복으로 들어가게 하면 안된다. 그래서 indexOf() 함수를 사용하였다. indexOf의 경우 배열안에 중복되는 수가 있으면 위치 값을 반환하고 없다면 -1을 반환한다. 나는 없으면 -1을 반환하는 것을 이용하여서 중복되는 수가 없을 시에만 answer에 push하게하고 모든 배열이 일을 마쳤다면 answer.sort()를 ((a,b) =>..
Select 모델- select모델의 개념select 모델이란 select 함수를 주로 사용하는 I/O 기반 소켓 프로그래밍이다.select 모델을 사용하면 소켓 모드(블로킹, 넌블로킹)에 관계없이 여러 소켓을 한 스레드로 처리할 수 있다. -select모델의 특징select 모델은 소켓 함수 호출이 성공할 시점을 미리 알 수 있다는 특징이 있다.함수를 호출할 수 있는지에 대한 여부를 미리 확인하기 때문에 가능하다.수신/송신 버퍼에 데이터가 비었는데/꽉 찼는데 read/write 하는 상황이 기존 소켓 프로그래밍에 있었다.select모델은 이 상황을 미리 확인 하여 예방할 수 있다.또한 Select 모델은 여러 소켓에 대해 함수 호출 시점(또는 호출 결과)을 알려주는 역할을 할 뿐 소켓 정보를 관리해주지..
· 코딩/TIL
오늘의 코딩테스트-- 추가예정 --오늘 한일ERD 다이어그램 수정player 관련 Create, Update(patch), Read(Get) 제작API에 Create를 이용해서 데이터 넣기ERD 다이어그램 수정- ERD 다이어그램을 다음과 같이 짰다. 우리는 개발에 강화까지 생각하고 있어서 따로 tier에 따른 강화시 올라가는 스탯 보너스, 강화 확률등을 미리 표에 적어놓고 연동하는 식으로 ERD 다이어그램을 작성하였다. player 관련 Create, Update(patch), Read(Get) 제작- 플레이어 관련된 기능을 제작하였다.위의 바뀐 플레이어 데이터베이스를 기반으로 CRUD를 작성하였다. 처음에는 등급을 나타내는 Tier를 문자열로 표현할지, Int형으로 표현할지 고민을 하였지만 Int로 ..
· 코딩/TIL
오늘의 코딩 테스트https://ezez99.tistory.com/51 [프로그래머스/JS] 문자열 내 마음대로 정렬하기문제코드function solution(strings, n) { var answer = []; for(let i = 0; i 풀이우선 문제풀이를 하기전에 조건에 대한 이해가 필요하다.조건을 정리해보자면 해당하는 n번째의 문자를 기준으로 정렬을 통해 만ezez99.tistory.com오늘 한일팀노션 작성깃허브에 대한 추가적인 이해(git rebase) 팀노션 작성5/31일 오늘은 새로운 팀 프로젝트를 하게 되었다.최근까지 개인 과제를 반복하여서 하면서 새로운 팀이 만들어졌었지만 팀원이랑 한번도 대화를 해본적이 없었는데,이번에 과제가 발제되면서 팀원들과 대화를 많이 하게되었다.그러면서 팀노..
문제코드function solution(strings, n) { var answer = []; for(let i = 0; i 풀이우선 문제풀이를 하기전에 조건에 대한 이해가 필요하다.조건을 정리해보자면 해당하는 n번째의 문자를 기준으로 정렬을 통해 만들어진 문자열 배열을 제출하는 것이 목적이다.1. 그러기 위해서 나는 순서를 n번째 문자를 가져와서 문자열 앞에 모두 붙여준다.2. 해당하는 문자열 배열을 정렬한다.3. 제일 앞에 붙인 문자를 제거하고 새로운 배열 "answer" 에 추가한다.4. 해당하는 answer을 제출한다.로 정리하였다.그러기 위해서 for문을 통해 strings[i][n] 즉 n번째 문자를 각각의 문자열 앞에 붙여주었다.그리고 strings.sort()를 통해 해당..
이즈99
'코딩' 카테고리의 글 목록 (5 Page)