본문 바로가기

dev/코테

(23)
주차 요금 계산 프로그래머스의 주차 요금 계산 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 이 문제를 풀 때 주의해야 할 점이 4개 있습니다. 첫 번째는 주차장 출입시간과 출차시간을 어떻게 계산할 지에 대한 것인데 어렵게 생각할 필요 없습니다. 출입시간 바로 뒤에 있는 시간이 출차시간입니다. 왜냐하면 주차장에 출입한 뒤에 또 출입할 수 없고, 출차한 뒤에 또 출차할 수 없기 때문입니다..
숫자 짝꿍 프로그래머스의 숫자 짝꿍 문제 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 이 문제를 풀려면 3가지를 해결해야 하는데 첫 번째 RuntimeException입니다. RuntimeException이 발생하는 이유는 형변환을 자주 하기 때문에 일어나서 형변환을 최대한 줄여야 합니다. 그래서 저는 char을 int로 변환할 때 "Character.getNumericValue"을 ..
콜라 문제 프로그래머스에서 "콜라 문제"라는 알고리즘 문제를 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/132267?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 위의 소스 코드에 대한 설명은 주석을 참고하면 되고 이 문제에서 주의해야 할 점은 교환할 수 있는 콜라 개수와 교환할 수 없는 콜라 개수입니다. 교환할 수 없는 콜라 개수까지 교환대상에 포함하면 안 됩니다. 이 점만 유의하면 쉽게 풀 수 있습니다.
푸드 파이트 대회 프로그래머스에서 "푸드 파이트 대회"라는 알고리즘 문제를 하나 풀었습니다. https://school.programmers.co.kr/learn/courses/30/lessons/134240?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에 대한 설명은 위의 링크에서 확인하시면 됩니다. 위의 소스 코드를 보게 되면 첫 번째 반복문에서 푸드 정보를 갖고 있는 배열 입력값을 파싱 해서 Map에 저장하고 있고 두 번째 반복문에서 파싱 한 Map을 기반으로 배열 값을 입력하고 (배열 앞과 뒤 끝에서부터 배열을 채우고) 세번째 반복문은..
Max area of island 얼마 전에 알고리즘 문제로 섬의 최대 면적을 구하는 문제를 풀었습니다. 문제를 설명드리면 0과 1로 이루어진 2차원 배열이 있고 0은 바다, 1은 섬을 뜻합니다. 섬의 면적은 상하좌우로 연결되어있는 경우만 해당됩니다. (대각선은 포함 X) 위의 문제를 보면 2차원 배열 안에 섬이 여러 개가 있는데 그중에서 가장 큰 면적을 구하는 문제입니다. 예제에서 6이 가장 큰 면적입니다. 이 문제를 풀면서 고민이었던 부분은 이미 검색했던 지역을 다시 검색했을 때 어떻게 처리할지 고민이었습니다. 그래서 이미 검색한 지역 유무를 체크하기 위해 똑같은 크기의 boolean타입 2차원 배열을 만들어서 풀었습니다. 위의 소스 코드를 보게 되면 island라는 바다와 섬으로 이루어진 2차원 배열이 있고 (5라인) 그 2차원 배..
magic square 얼마 전에 온라인 코딩 테스트 문제 중의 하나로 magic square 문제를 풀었습니다. magic square가 무슨 뜻인지 찾아봤는데 마방진을 뜻하는 거였더군요. 문제 설명을 먼저 드리면 3 X 3 배열을 입력하여 가로, 세로, 대각선의 숫자들을 더한 값이 모두 같은 값을 갖게 하는 것인데, 입력한 배열이 마방진의 조건에 맞게 하기 위해 배열 값을 교환했을 때의 최소 비용을 구하는 것입니다. 예를 들어 다음과 같이 입력했을 때의 최솟값을 구하려면 5 3 4 1 5 8 6 4 2 다음과 같이 배열을 교환할 수 있습니다. 8(5->8) 3 4 1 5 9(8->9) 6 7(4->7) 2 위와 같이 교환한 배열에서 최소비용을 구하게 되면 |5-8| + |8-9| + |4-7| = 7 최소비용 7을 구할 수..
우주 정거장 최대 거리 구하기 얼마 전에 알고리즘 문제 하나 풀었습니다. 각 도시에서 가장 가까운 우주 정거장까지의 거리가 가장 먼 경우를 찾는 문제입니다. 문제 원문입니다. ============================================================================ 서울랜드는 여러 도시와 우주 정거장을 가지고 있는 나라입니다. 도시들은 연속된 번호가 부여되어있고 각각 다음 도시까지 연결된 도로의 길이는 1Km입니다.입니다 순환 가능한 도로가 아니므로, 첫 번째 도시와 마지막 도시와 연결되지 않습니다. 어떤 도시에서 가장 가까운 우주 정거장까지의 거리가 먼 경우를 찾아내야 합니다. n = 3 인 도시가 있고 우주 정거장이 도시 1번에 있다고 합시다. 도시 2는 2 - 1 = 1 단위만큼 떨..