일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- db
- 아이폰
- 자바
- 식물키우기
- react
- 알고리즘
- 데이터베이스
- styled-components
- 운영체제
- 반응형 웹
- ES6
- codewars
- 리액트
- git
- 정규표현식
- 자바스크립트
- 맛집
- java
- Javascript
- Algorithm
- 기억장치
- binary
- 컴퓨터
- c++
- ECMAScript2015
- LeetCode
- ECMAScript6
- string
- 애플
- 배포
- Today
- Total
목록알고리즘 (7)
에브리 저장소

문제 링크 이 문제는 배열로 표현된 2진수를 10진수로 변환하는 문제입니다. Testing: [0, 0, 0, 1] ==> 1 Testing: [0, 0, 1, 0] ==> 2 Testing: [0, 1, 0, 1] ==> 5 Testing: [1, 0, 0, 1] ==> 9 Testing: [0, 0, 1, 0] ==> 2 Testing: [0, 1, 1, 0] ==> 6 Testing: [1, 1, 1, 1] ==> 15 Testing: [1, 0, 1, 1] ==> 11 문자열 이진수를 십진수로 변환하는 방법 자바스크립트에는 문자열을 숫자로 바꿔주는 메서드인 parseInt가 존재합니다. parseInt에 인자로 숫자로 변환할 문자열과 radix를 적어, 몇 진수로 표현되어 있는지 알려주면 변환하여..

문제 링크 이 문제는 올바른 PIN 코드 입력을 찾아내는 문제입니다. string으로 들어오는 입력을 받아 올바른 PIN 코드인지 아닌지를 boolean으로 반환하면 됩니다. validatePIN("1234") === true validatePIN("12345") === false validatePIN("a234") === false 정규표현식을 써서 간단하게 해결할 수 있습니다. 정규표현식 문법(?) 중, \d는 digit를 의미하여 0~9 사이가 존재하는지 검사가 가능합니다. 그리고 중괄호를 사용하여, 몇 개 포함되어 있는지를 검사할 수 있습니다. 이 문제를 풀기 위해 다음과 같은 정규표현식을 만들 수 있겠습니다. /^(\d{4}|\d{6})$/ ^, $는 각각 시작과 끝을 의미하고 |는 또는(OR)..

문제 링크 이 문제는 설명이 없습니다.(?) accum이라는 메서드에 문자열 인자를 넣었을 때의 출력 값 예시를 보여주고 동일하게 동작하도록 구현하는 문제입니다. 규칙을 찾아내기 어려운 문제는 아니었습니다. accum("abcd") -> "A-Bb-Ccc-Dddd" accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy" accum("cwAt") -> "C-Ww-Aaa-Tttt" 규칙을 분석하면 각 글자들의 순서만큼 해당 글자를 나열하고, 제일 앞일 때는 대문자가 됩니다. 그리고 이 문자들은 '-' 로 연결된다. 정리하면 다음과 같습니다. 입력받은 문자열을 한 글자씩 나눠 배열을 만든다. 각 글자마다 대문자, 소문자를 만들어 저장합니다. 반환할 변수에 대문자를..

처음 c++로 알고리즘 문제를 풀었을 때 낯설었던 것 중 하나는 vector를 순회해야 할 때였다. 배열처럼 인덱스로 접근하면 편할 텐데, 그것이 안되니 이상하고 어렵게만 느껴졌다. '그럼 배열을 쓰면 되지'라는 생각이 들지만 배열에는 없는 vector의 메서드들이 필요한 순간들이 있어서 vector를 잘 다루는 것이 중요하다고 생각했다. 까먹지 않기 위해 C++에서 vector를 순회하는 방법을 기록한다. 먼저 vector를 순회하기 위해 iterator를 선언해줘야 한다. iterator는 반복자라고 부르기도 하는데, STL 컨테이너의 메모리 주소를 가리킬 때 사용된다. vector의 시작과 끝의 위치를 반환하는 함수인 begin()과 end()를 활용해 아래와 같이 코드를 짜면 vector의 요소들..
문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 풀이 내용 정리 먼저 vector를 사용해서 각 테스트 케이스마다 점수들을 담았다. for(int i=0; i> score; scores.push_back(score); } 실수한 부분은 scores를 clear 하지 않고 resize만..
[Java] 알고리즘 문제 풀기 유용한 함수 모음 마지막 업데이트 : 2019-02-07 정렬 12//import java.util.Arrays; 선언 필요.Arrays.sort(arr); //arr은 배열.cs arr 배열을 오름차순으로 정렬한다.내림차순으로 정렬하고 싶다면 모든 원소에 -1을 곱한 뒤 정렬을 실행하고, 다시 -1을 곱해주면 된다. 숫자 → 문자열 변환 1Integer.toString(num);cs 숫자 타입에 따라 Integer 대신 Byte, Short, Long, Float, Double을 대입한다. 문자열 → 숫자 변환 1Integer.parseInt(string);cs 숫자 타입에 따라 변경. Byte.parseByte, Long.parseLong... 숫자 → 이진수(문자열)..
[알고리즘] 에라토스테네스의 체(소수 구하는 알고리즘) 자바 구현 안녕하세요. 오늘은 소수를 찾는 방법인 '에라토스테네스의 체'라는 알고리즘에 대해 알아보겠습니다. 알고리즘 진행은 아래와 같습니다. 1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다.2. 2는 소수이므로 오른쪽에 2를 쓴다.3. 자기 자신을 제외한 2의 배수를 모두 지운다.4. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다.5. 자기 자신을 제외한 3의 배수를 모두 지운다.6. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다.7. 자기 자신을 제외한 5의 배수를 모두 지운다.8. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다.9. 자기 자신을 제외한 7의 배수를 모두 지운다.10. 위의 과정을 반복하면 ..