코테 공부
![[프로그래머스] 카펫 - 완전탐색 (JS)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1kkVo%2FbtsNit9iXL4%2FCfvAaggbUsY8k4LNNR9Gxk%2Fimg.png)
[프로그래머스] 카펫 - 완전탐색 (JS)
프로그래머스 알고리즘 고득점 kit - 완전 탐색(=brute force) 문제문제처음 접근 시도function solution(brown, yellow) { var answer = []; let isTrue = false; let carpet = brown + yellow; for (let i = 1; i = j){ answer.push(i); answer.push(j); isTrue = true; } } if (isTrue) break; } return answer;}이 코드에서의 문제점1. 범위 제한 문제코드에서는 i와 j를 1부터 9까지의 범..
![[프로그래머스] 소수 찾기 - 완전탐색 (JS)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb33cgA%2FbtsNhd5E3un%2FKEEsuhEsYCmcL8r4sujZok%2Fimg.png)
[프로그래머스] 소수 찾기 - 완전탐색 (JS)
프로그래머스 알고리즘 고득점 kit - 완전 탐색(=brute force) 문제문제처음 접근 시도// 1) split로 numbers을 배열 만들기// 2) numbers로 만들 수 있는 모든 숫자 구하는 로직// 2.1) 맨앞이 0인 경우 제외 -> continue 사용 // 2.2) 1도 제외// 2.3) numbers.length만큼 반복 (한 자리 수, 두 자리 수...)// 3) 소수인지 판별하는 로직// 3.1) 2부터 9까지 나눠서 나머지가 1이상 나오는 경우 -> 소수function solution(numbers) { var answer = 0; numbers = numbers.split(''); console.log(numbers.len..
[자료구조] 해시 Hash, Hash Table, Hash Function, HashMap (JS)
참고영상:https://www.youtube.com/watch?v=HraOg7W3VAM 1. 해시 Hash란?해시(Hash)는 데이터를 고유한 값으로 변환하는 과정을 의미한다. 데이터를 입력받아 고정된 크기의 값으로 변환하며, 이는 데이터 식별과 검색 효율성을 높인다.2. 해시 함수 Hash Function해시 함수는 임의의 데이터를 입력받아 고정된 길이의 문자열이나 숫자(해시값)를 반환하는 함수다.해시 함수의 특징:같은 입력값에 대해 항상 같은 출력값 반환다른 입력값에 대해 가능한 한 다른 출력값 생성(충돌 최소화)빠른 계산 속도3. 해시 테이블 Hash Table해시 테이블은 키(key)를 해시 함수로 변환한 값을 인덱스로 사용하여 데이터를 저장하는 자료구조다.해시 테이블의 특징:해시 함수를 사용해 ..
[백준] 11866번 - 요세푸스 문제 0 (파이썬)
https://www.acmicpc.net/problem/11866문제요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)출력예제와 같이 요세푸스 순열을 출력한다.문제 탐색하..
[백준] 2193번 - 이친수 (파이썬)
https://www.acmicpc.net/problem/2193문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다.출력첫째 줄에 N자리 이친수의 개수를 출력한다.문..
[백준] 2303번 - 숫자 게임 (파이썬)
https://www.acmicpc.net/problem/2303문제N명이 모여 숫자 게임을 하고자 한다. 각 사람에게는 1부터 10사이의 수가 적혀진 다섯 장의 카드가 주어진다. 그 중 세 장의 카드를 골라 합을 구한 후 일의 자리 수가 가장 큰 사람이 게임을 이기게 된다. 세 장의 카드가 (7, 8, 10)인 경우에는 합은 7+8+10 = 25가 되고 일의 자리 수는 5가 된다. 어떤 사람이 받은 카드가 (7, 5, 5, 4, 9)인 경우 (7, 4, 9)를 선택하면 합이 20이 되어 일의 자리 수는 0이 되고, (5, 5, 9)를 선택하면 합이 19가 되어 일의 자리 수는 9가 된다. 게임을 이기기 위해서는 세 장의 카드를 선택할 때 그 합의 일의 자리 수가 가장 크게 되도록 선택하여야 한다.예를 ..
[백준] 5567번 - 결혼식 (파이썬)
https://www.acmicpc.net/problem/5567문제상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. 상근이의 학번은 1이다.상근이는 동기들의 친구 관계를 모두 조사한 리스트를 가지고 있다. 이 리스트를 바탕으로 결혼식에 초대할 사람의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 상근이의 동기의 수 n (2 ≤ n ≤ 500)이 주어진다. 둘째 줄에는 리스트의 길이 m (1 ≤ m ≤ 10000)이 주어진다. 다음 줄부터 m개 줄에는 친구 관계 ai bi가 주어진다. (1 ≤ ai i ≤ n) ai와 bi가 친구라는 뜻이며, bi와 ai도 친구관계이다. 출력첫째 줄에 상근이..
[백준] 2204번 - 도비의 난독증 테스 (파이썬)
https://www.acmicpc.net/problem/2204문제꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다.하지만 인성이 좋지 않은 꿍은 사실 그러고 싶지 않았기 때문에 대소문자를 마구 섞어가며 단어들을 제시했다. 예를 들어, apPle은 Bat보다 앞서지만 AnT보다는 뒤에 있는 단어다.도비에게 희망은 여러분뿐이다! 여러분이 도비에게 자유를 선물해주도록 하자!입력각 테스트케이스는 정수 n (2 ≤ n ≤ 1000) 으로 시작하며 주어지는 단어의 개수를 뜻한다.다음 각 n줄은 길이가 최대 20인 단어가 주어지며 대소문자의 구분을 없앴을 때 똑같은 단어는 주어지지 않는다.마지막 입력은 0이 주어진다...