프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 9.4 다형성을 위한 상속 지금까지 파생 클래스와 그 부모간의 관계에 대해 배웠다. 이제는 가장 강력한 시나리오인 다형성 구현에 상속을 어떻게 이용하는지 알아볼 차례다. 전에 사용했던 다형성의 활용은, 공통의 부모를 가지는 객체를 부모타입의 객체가 필요한 자리에 마음대로 바꿔 넣어 사용한 예 이다. 9.4.1 스프레드 시트 다시보기 7장과 8장에서는 객체지향 프로그래밍을 설명하기 위해 스프레드 시트 예제를 활용했다. SpreadSheetCell은 데이터의 한 항목을 나타내고, 각 항목의 값은 double또는 string타입 이다. 다음은 SpreadSheetCell클래스의 정의로, 셀의 값을 세팅할 때 double이나 string중 어떤 값이든 이용할 수 있다. 단, 현재 셀의 데이터 값을 읽어올 때는 ..

  • 문제 설명 시침, 분침, 초침이 있는 아날로그시계가 있습니다. 시계의 시침은 12시간마다, 분침은 60분마다, 초침은 60초마다 시계를 한 바퀴 돕니다. 따라서 시침, 분침, 초침이 움직이는 속도는 일정하며 각각 다릅니다. 이 시계에는 초침이 시침/분침과 겹칠 때마다 알람이 울리는 기능이 있습니다. 당신은 특정 시간 동안 알람이 울린 횟수를 알고 싶습니다. 다음은 0시 5분 30초부터 0시 7분 0초까지 알람이 울린 횟수를 세는 예시입니다. 가장 짧은 바늘이 시침, 중간 길이인 바늘이 분침, 가장 긴 바늘이 초침입니다. 알람이 울리는 횟수를 세기 시작한 시각은 0시 5분 30초입니다. 이후 0시 6분 0초까지 초침과 시침/분침이 겹치는 일은 없습니다. 약 0시 6분 0.501초에 초침과 시침이 겹칩니다...

  • 마법을 사용하는 객체의 스왑을 구현한다. Wizard 위자드에서 스왑을 구현하고, 마법에서 종류를 Q나 E 또는 지정된 키 값으로 스왑시킬 수 있게 한다. 마법은, 스왑전에 Visival을 꺼주고, 스왑후에 손에 들게 되었을 때, Visival을 켜주게 된다. 즉, 변수목록에 Skill_list로 데이터를 삽입하고, 현재 사용하는 중인 Skill은, Skill에 들어가서 사용된다. 객체의 Switch_To_List는 int값으로, Skill_list의 size에 대응되어 현제 사용중인 Skill의 위치값을 나타낸다. BP_Player BP_Player에서 사용되는 Swap 동작이다. LeftSwap과 RightSwap을 호출하며, 해당 함수는 현재 장착중인 Weapon에 대응된다. 현재 Weapon을 들..

  • 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 세로길이가 n 가로길이가 m인 격자 모양의 땅 속에서 석유가 발견되었습니다. 석유는 여러 덩어리로 나누어 묻혀있습니다. 당신이 시추관을 수직으로 단 하나만 뚫을 수 있을 때, 가장 많은 석유를 뽑을 수 있는 시추관의 위치를 찾으려고 합니다. 시추관은 열 하나를 관통하는 형태여야 하며, 열과 열 사이에 시추관을 뚫을 수 없습니다. 예를 들어 가로가 8, 세로가 5인 격자 모양의 땅 속에 위 그림처럼 석유가 발견되었다고 가정하겠습니다. 상, 하, 좌, 우로 연결된 석유는 하나의 덩어리이며, 석유 덩어리의 크기는 덩어리에 포함된 칸의 수입니다. 그림에서 석유 덩어리의 크기는 왼쪽부터 8, 7, 2입니다. 시추관은 위 그림처럼 설치한..

  • 문제 설명 AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 ["코드 번호(code)", "제조일(date)", "최대 수량(maximum)", "현재 수량(remain)"]으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다. 예를 들어 다음과 같이 데이터가 주어진다면 data = [[1, 20300104, 100, 80], [2, 20300804, 847, 37], [3, 20300401, 10, 8]] 이 데이터는 다음 표처럼 나타낼 수 있습니다. code date maximum remain 1 20300104 100 80 2 20300804 847 37 3 20300401 10 8 주어진 데이터 중 "제조일이 20300501 이..

  • 문제 설명 각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다. 1. 정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다. 2. 같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다. 3. h와 w의 ..