코드카타 공원산책 문제 시작지점에서 주어진 방향으로 이동해 도착한 지점을 반환하는 문제이다. 입출력 예시 이동 중에 장애물이 있거나 공원을 빠져나왔다면 해당 이동명령은 실행하지 않는다. 테스트케이스 추가입력값 > ["XXX", "XSX", "XXX"], ["E 2", "S 3", "W 1"]출력값 > [1, 1]시작위치의 Y 좌표값이 0이 아닐수도 있음을 고려해야한다. 풀이class Solution { fun solution(park: Array, routes: Array): List { // 시작 위치 찾기 val sY = park.indexOfFirst { it.contains('S') } // 'S'가 있는 행 찾기 val sX = park[sY..
푼 문제들 파이썬은 문자열 다루기가 유독 쉬운 느낌이다. 배열 만들기 5 문제 풀이def solution(intStrs, k, s, l): res = [] for i in intStrs: # intStrs의 요소를 순회하며 slice = int(i[s: s+l]) # 조건에 따라 자른 문자열을 정수로 변환한 값을 구하고 if slice > k: res.append(slice) # 해당 값이 k보다 크면 res에 추가한다 return res슬라이싱한 문자열을 정수로 변환해서 비교한다. 부분 문자열 이어 붙여 문자열 만들기 문제 풀이def solution(string, parts): res = '' for i in range(len(string..
코드카타 달리기 경주 문제 이름이 불린 선수의 위치를 앞의 선수와 교체하여경주가 끝났을 때(모든 이름을 불렀을 때) 플레이어의 등수를 반환하는 문제이다. 경기 진행 중 1등인 선수의 이름을 부르지 않는다 하니1등 앞에 있는 선수를 불러오려다 나는 index범위 초과 에러는 고려하지 않아도 된다. 근래에 고봉밥 문제 설명 보다가 간결한 문제설명을 보니 이리 좋을수가 없다. 시간 복잡도를 고려하지 않은 풀이class Solution { fun solution(players: Array, callings: Array): Array { // 배열 요소 위치 변환 함수 fun swap(arr: Array, i: Int, j: Int) { val temp..
푼 문제들 간단한 논리 연산 문제 풀이def solution(x1, x2, x3, x4): return (x1 or x2) and (x3 or x4)or 연산은 둘 중 하나만 true여도 true를 반환하고,and 연산은 둘 다 true여야 true를 반환한다. 주사위 게임 3 문제 풀이def solution(a, b, c, d): # 주사위 값 오름차순 정렬 dice = sorted([a, b, c, d]) # 모든 주사위 값이 같은 경우 if dice[0] == dice[1] == dice[2] == dice[3]: return 1111 * dice[0] # 세 개의 주사위 값이 같고 나머지 하나가 다른 경우 if dice..
코드카타 개인정보 수집 유효기간 문제 개인정보 수집 일자에서 해당 약관의 유효기간을 더한 시점이 오늘 날짜를 지났다면해당 개인정보를 파기한다. 파기한 개인정보 번호를 리스트로 출력한다. 입출력 예시 날짜 연산을 하기 위해선 해당 입력값을 가공할 필요가 있어보인다. 풀이class Solution { fun solution(today: String, terms: Array, privacies: Array): List { // 오늘의 날짜 문자열을 .을 기준으로 나눠서 정수 리스트로 변환 val today = today.split(".").map { it.toInt() } // 약관을 키로 유효기간을 값으로 가지는 맵 생성 val termsMa..
코드카타 바탕화면 정리 문제 파일을 모두 선택할 수 있는 최소 드래그 범위를 구하는 문제이다. lux는 luy는 드래그 시작점의 X, Y 좌표에 해당,rdx와 rdy는 드래그 끝점의 X, Y 좌표에 해당한다. 입출력 예시 테스트 케이스에 포함되어 있지 않지만 맨 마지막 줄에 파일이 없는 경우도 고려해야 한다. 풀이class Solution { fun solution(wallpaper: Array): List { // 드래그 시작, 끝 점 X, Y 좌표 초기화 var lux = 0 var luy = 50 // wallpaper의 최대 길이가 50이기 때문에 50으로 초기화 var rdx = 0 var rdy = 0 ..
코드카타 성격 유형 검사하기 문제 검사자의 선택지에 따라 각 성격유형에 점수를 할당하고할당한 점수를 기반으로 성격유형을 반환한다. 입출력 예시 첫번째 테스트케이스의 성격 유형 검사결과는{R=0, T=3, C=1, F=0, J=0, M=2, A=1, N=1} 의 값을 가진다. 앞에서 부터 성격 지표를 2개씩 묶어서 점수가 높은 쪽의 성격 유형을 반환하고두 성격 유형의 점수가 같으면 앞에 위치한 성격유형을 반환하므로 "TCMA"를 반환한다 풀이class Solution { fun solution(survey: Array, choices: IntArray): String { // 성격 유형별로 점수를 저장할 맵 선언 val map = mutableMapOf( ..