본문 바로가기

별걸다하는 IT/알고리즘 문제풀이

(34)
[백준 Baekjoon알고리즘] 1110번 더하기 사이클 문제 설명 및 오답 풀이 [백준 알고리즘 if문 단계 문제] [1110] 더하기 사이클 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. 입출력 입력 첫째 줄..
[프로그래머스 LEVEL 1] 같은 숫자는 싫어 문제 해설 및 오답 풀이, 연속된 수 제거 백준이 아무래도 기초부터 풀기에는 쉬운 문제가 많아서 백준 문제부터 해설하려고 했는데.. 단점이 너무 질려 ㅠㅠㅠㅠㅠ 고러므로 오늘은 프로그래머스의 문제를 풀이하겠습니다.ㅎㅎ [Level 1] 같은 숫자는 싫어 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 배열 arr에서 제거 되고 남은 수들을 return하는 solution함수를 완성해주세요. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원서들의 순서를 유지해야 합니다. 예를 들면 - arr = [1,1,3,3,0,1,1]이면 [1,3,0,1]을 return합니다. - arr = [4,4,4,3,3]이..
[백준 알고리즘 문제풀이] 1546 평균, 4344 평균은 넘겠지 문제 풀이 및 해설 [백준 Baekjoon 알고리즘 문제 해설] 난이도: 하 정답률: 46.9% [1546] 평균 제한 조건 시간 제한: 2초 메모리 제한: 128MB 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값..
[백준 Baekjoon 알고리즘]9498번 시험 성적, 10817번 세 수 문제 풀이 (if문 switch 연습 문제) 백준 알고리즘 문제풀기 : 난이도 하 정답 비율 62.7% [9498] 시험 성적 문제 시험 점수를 입력받아 90~100점은 A, 80~89점은 B, 70~79점은 C, 60~69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 조건 시간 제한 1초, 메모리 제한 128MB 입출력 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 예제 입력: 100 출력: A 정답 비율 47.4% [10817] 세 수 문제 세 정수 A,B,C가 주어진다. 이때 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 조건 시간 제한 1초, 메모리 제한 256MB 입출력 입력 첫째 줄에 세 정수 A,B,C가 공백으로 구분되어 주..
[백준 BAEKJOON]10172번 개,11718번 그대로 출력하기 문제, 오답원인 백준(BAEKJOON) 알고리즘 문제 풀기- 난이도: 하 역시 기초라 그런가 알고리즘 보다는 프로그래밍을 아나 확인하는 문제에 가깝군요 ㅎㅎ 단순 문자열 출력입니당 [10172] 개 ---------------------------------------------------------------------------------------- 문제: 아래 예제와 같이 개를 출력하시오 시간제한: 1초, 메모리 제한 256MB 입력: 없음 출력: 개를 출력한다. 예시: ---------------------------------------------------------------------------------------- [11718] 그대로 출력하기 -------------------------------..
[프로그래머스 코딩테스트 연습 Level 1] 모의고사 문제 풀이(C++, JAVA) 다양한 해설 [프로그래머스 Level 1] 모의고사 문제 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1,2,3,4,5,1,2,3,4,5... 2번 수포자가 찍는 방식: 2,1,2,3,2,4,2,5,2,1,2,3,2,4,2,5,... 3번 수포자가 찍는 방식: 3,3,1,1,2,2,4,4,5,5,3,3,1,1,2,2,4,4,5,5,... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return하도록 solution함수를 작성해주세요. 제한조건 시험은 최대 10,000문제로 구..
[프로그래머스 알고리즘 Level 2] 탑 문제 풀이 및 해설- 스택 큐 오늘은 레벨 2로 분류되어 있는 "탑' 문제를 풀어볼게요 분류는 [스택, 큐]로 되어있네요 탑 문제 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6,9,5,7,4인 다섯 탑이 왼쪽에서 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 9인 네번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 ..
[프로그래머스 레벨2] 전화번호 목록 문제 풀이 [프로그래머스 알고리즘 Level 2] 오늘은 프로그래머스 코딩테스트 연습에 있는 Level 2 전화번호 목록 문제를 풀이해볼게요. 전화번호 목록 문제 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대: 119 박준영: 97 674 223 지영석: 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book이 solution함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return하도록 solution함수를 작성해주세요. 제한사항 phone_book의 길이는 1 이상 1,000,0..