본문 바로가기
728x90

알고리즘3

[Java] 배열, 리스트에서 요소 개수 찾기 안녕하세요. 오늘은 배열 또는 리스트에서 원하는 요소의 개수를 찾는 방법에 대해 포스팅하려고 합니다. 바로 Collections.frequency() 함수입니다.Collections.frequency(Collection c, Object o)frequency 함수는 Collection 객체에서 Object와 같은 값이 몇번 포함되어 있는지 횟수를 찾아 반환합니다. public static int frequency(Collection c, Object o) { int result = 0; Iterator var3; Object e; if (o == null) { var3 = c.iterator(); while(var3.hasNext()) { e = var3.next(); if (e == null) { ++.. 2023. 10. 15.
[Algorithm] 알고리즘의 개념과 자료구조 알고리즘이란? 주어진 문제 해결 및 문제 해결에 필요한 절차와 방법을 알고리즘이라고 합니다. 여기서 절차란 어떠한 문제 해결을 위해 정해진 일련의 절차이며 계산 실행을 위한 단계적 절차를 의미하기도 합니다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻하는 단어입니다. 효율적인 알고리즘을 선택하기 위해선 먼저 자료구조에 대한 이해가 필요합니다. 자료구조 자료구조는 데이터 사이의 논리적 관계를 표현, 조직화하는 방법입니다. 좋은 프로그램을 위해서는 적절한 자료구조와 적절한 알고리즘이 필요합니다. 기본적인 자료구조는 선형(linear)자료구조와 비선형(non-linear) 자료구조로 나뉘게 됩니다. 선형 자료구조는 이름 그대로 선, 즉 한 줄로 나열할 수 있는 자료구조입니다. 반대로 비선형은 .. 2023. 3. 6.
[알고리즘] 콜라 문제 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있습니다. 이.. 2023. 1. 23.
728x90