프로그래머스자바
-
프로그래머스 Hash 문제풀이 - JavaJava/코딩테스트 2023. 4. 26. 22:45
🍡 Hash - 임의의 데이터를 고정된 크기의 대표값으로 변환해서 저장하는 것, 데이터를 해시함수(어떤 연산) 통해 해시값을 얻어냄. - 해시함수를 어떻게 정의하는지에 따라 다른 데이터여도 하나의 해시값이 될 수도 있음(해시 충돌) - 객체는 기본적으로 할당된 주소값을 이용하여 해시 값 생성 - 해시 테이블 : 해시 값을 사용하여 이에 대응하는 원본 데이터를 찾을 수 있게 해주는 자료구조로, 역함수는 존재하지 않는다 (해시는 단방향 변환, 충돌을 허용하기 때문에 역함수 존재 x) - 해시 값으로 원본 데이터에 바로 접근이 가능, 따라서 빠른 시간에 데이터 검색, 삽입, 삭제가 가능하다. 🍡 HashSet - 중복을 허용하지 않는 집합 - 데이터 순서 없음 - add : 데이터 삽입 - contains :..
-
프로그래머스 Stack / Queue 문제풀이 - JavaJava/코딩테스트 2023. 4. 21. 03:40
🍓 Stack - 후입선출 특징을 가진 자료구조 - add, pop, peek [ 괄호 회전하기 ] https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [ 로직 ] - i개의 칸 만큼 원소 이동 시킨 후 괄호 가능 여부 개수를 센다. isPair함수 따로 빼서 구현 - 시작 지점을 (index + i) % chars.length 로 주면 index칸만큼 뒤에서 시작하는 효과를 낼 수 있음 - 문자열 읽으면서 여는 괄호가 나오면 스택에 닫는 괄호 형..