본문 바로가기

분류 전체보기275

[CodeTree] 삼성 SW 역량테스트 2015 하반기 2번 문제 - 2개의 사탕 문제 설명 N×M 크기의 상자 안에 빨간색 사탕과 파란색 사탕이 각각 하나씩 들어있습니다. 이 상자 안에는 사탕이 지나가지 못하도록 하는 장애물이 여러 개 있고, 사탕이 밖으로 빠져 나올 수 있는 구멍이 딱 하나 있습니다. 이러한 상황에서 빨간색 사탕을 밖으로 빼내려고 합니다. 사탕을 밖으로 빼기 위해서는 상자를 위, 아래, 왼쪽, 오른쪽 방향으로 기울일 수 있는데, 기울어진 방향으로 사탕은 장애물 혹은 다른 사탕에 부딪히기 전 까지 미끌어지게 되며, 미끄러지는 도중에 상자를 다른 방향으로 기울일 수는 없습니다. 예를 들어 위의 예에서 상자를 아래로 기울이게 되면 다음과 같은 모양이 됩니다. 빨간색 사탕을 밖으로 빼야 하지만, 파란색 사탕이 밖으로 나와서는 안됩니다. 즉, 빨간색 사탕이 나오기 전에 파란.. 2024. 3. 8.
[Softeer] [HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기 Sam은 팀장님으로부터 차량이 이동 가능한 시나리오의 수를 찾으라는 업무 지시를 받았습니다. 이동은 숫자 0과 1로만 이루어져 있는 n x n 크기의 격자 위에서 일어납니다. 숫자 0은 빈 칸을 의미하며, 숫자 1은 해당 칸이 벽으로 막혀 있음을 의미합니다. 아래는 n이 3인 경우의 예시입니다. 0 0 0 0 0 0 0 0 1 차량은 n x n 격자 내에서 m개의 지점을 순서대로 방문하려고 합니다. 이 때 이동은 항상 상하좌우 중 인접한 칸으로만 이동하되 벽은 지나갈 수 없으며, 한 번 지났던 지점은 다시는 방문해서는 안 됩니다. 이러한 조건 하에서 차량이 이동 가능한 서로 다른 가지 수를 구하는 프로그램을 작성해보세요. 방문해야 하는 지점의 첫 지점이 출발점이며, 마지막 지점이 도착점임에 유의합니다. .. 2024. 2. 29.
[Softeer] [HSAT 7회 정기 코딩 인증평가 기출] 자동차 테스트 문제 설명 자동차 제조 과정에서는 다양한 테스트를 통해 해당 자동차가 잘 만들어졌는지를 평가합니다. 이러한 평가 지표 중 하나는 자동차의 연비입니다. 자동차의 연비가 높을수록 연료 소비가 적고, 더 많은 거리를 주행할 수 있으므로 이는 자동차가 잘 만들어졌는지의 지표로 사용될 수 있습니다. 만약 3대의 자동차를 테스트하고, 각각의 연비를 측정한다고 가정해봅시다. 첫 번째 자동차의 연비는 9km/L, 두 번째 자동차의 연비는 15km/L, 세 번째 자동차의 연비는 20km/L이라고 합시다. 이 경우, 중앙값은 15km/L이 됩니다. 따라서 이 데이터에서는 중앙값을 이용하여 자동차의 평균적인 연비를 파악할 수 있으며, 이는 자동차 제조 과정에서 테스트의 결과를 평가하는 데 활용될 수 있습니다. n대의 자동차.. 2024. 2. 5.
COS Pro 1급 C언어 모의고사 - 해밍 거리 문제 설명 해밍 거리(Hamming distance)란 같은 길이를 가진 두 개의 문자열에서 같은 위치에 있지만 서로 다른 문자의 개수를 뜻 합니다. 예를 들어 두 2진수 문자열이 "10010"과 "110"이라면, 먼저 두 문자열의 자릿수를 맞추기 위해 "110"의 앞에 0 두 개를 채워 "00110"으로 만들어 줍니다. 두 2진수 문자열은 첫 번째와 세 번째 문자가 서로 다르므로 해밍 거리는 2입니다. 1 0 0 1 0 0 0 1 1 0 두 2진수 문자열 binaryA, binaryB의 해밍 거리를 구하려 합니다. 이를 위해 다음과 같이 간단히 프로그램 구조를 작성했 습니다. 1단계. 길이가 더 긴 2진수 문자열의 길이를 구합니다. 2단계. 첫 번째 2진수 문자열의 길이가 더 짧다면 문자열의 앞에 0을.. 2024. 1. 12.
COS Pro 1급 C언어 모의고사 - 시험 점수 정렬 문제 설명 학생들의 이름과 시험 점수가 주어질 때, K 등을 한 학생의 이름을 찾으려 합니다(단, 시험 점수가 같은 학생은 없다고 가정 합니다). 이를 위해 다음과 같이 구조체를 정의했습니다. typedef struct Student{ char name[20]; int score; }Student; 또한 다음과 같이 프로그램 구조를 작성했습니다. 1. 학생의 이름과 시험 점수로 구성된 구조체 배열을 생성 및 초기화합니다. 2. 생성된 구조체 배열을 시험 점수의 내림차순으로 정렬합니다. 3. 정렬된 구조체 배열에서 K - 1번째에 있는 학생의 이름을 return 합니다. 학생들의 이름이 순서대로 들어있는 배열 names와 names의 길이 nameslen, 학생들의 시험 점수가 순서대로 들어있는 배열 sc.. 2023. 12. 17.
[BAEKJOON] 어른 상어 이 문제에서 핵심은 맵에 상어 번호와 냄새를 함께 저장하는 것이었다. 이를 위해 3차원 int형 배열을 활용했다. map[x][y][상어번호] = 냄새 형식으로 저장하여 풀이하였다. 또한, 상어의 번호는 불변하므로 Shark 클래스 형식의 1차원 배열에 저장하여 고유 번호를 부여하였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N, M, K; static int[][][] map; static int[][] direction = { { -1, 0 }, { 1, 0 }.. 2023. 12. 8.