중복된 문자열 제거
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
class Solution {
fun solution(my_string: String): String {
var answer: String = ""
var count:Int = 0
var testString: String=my_string.substring(0,1)
for(i in 0 until my_string.length){//입력값의 최대길이까지 for문진행
for(f in 0 until testString.length){//입력값의 최대길이까지 for문진행
if(my_string.substring(i,i+1) == testString.substring(f,f+1)){
count++//중복되는 상황이면 Count변수에 1 추가
}
}
if(count <1){
testString += my_string.substring(i,i+1) //Count변수가 1이하면 문자 추가
}
count = 0// count 변수 초기화
}
answer = testString
return answer
}
}
대문자와 소문자
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
class Solution {
fun solution(my_string: String): String {
var answer: String = ""
var String1:String
var char1:Char
var char2:Char
for(i in 0 until my_string.length){
String1 =my_string.substring(i,i+1)
char1=String1.first()
if(char1.isUpperCase()){
char2 = char1.toLowerCase()
answer += char2
}else {
char2 = char1.toUpperCase()
answer += char2
}
}
return answer
}
}
인덱스 바꾸기
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
class Solution {
fun solution(my_string: String, num1: Int, num2: Int): String {
var answer: String = ""
var list =my_string.toCharArray()
var char1 = list[num1]
list[num1] = list[num2]
list[num2] = char1
answer=list.joinToString("")
return answer
}
}
배열의 유사도
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
class Solution {
fun solution(s1: Array<String>, s2: Array<String>): Int {
var answer: Int = 0
for(i in 0 until s1.size){ //s1 배열 길이까지 for문 실행
for(f in 0 until s2.size){//s2 배열 길이까지 for문 실행
if(s1[i] == s2[f]) answer++ //s1[i] 인덱스값과 s2[f]의 인덱스의 값이 같으면 answer에 1 추가
}
}
return answer
}
}
숫자 찾기
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
class Solution {
fun solution(num: Int, k: Int): Int {
var answer: Int = 0
var changeStr:String = num.toString()
var num1:Int
var charList:CharArray = changeStr.toCharArray()
for(i in 0 until charList.size){
if(charList[i].toInt() - 48 == k){ // toInt에서 -48을 해준 이유는 Char값을 toInt로 불러오면 ASCII코드로 가져오기 때문에 ASCII속 0의 값인 48을 빼주어야 Int값이 나온다.
answer = i+1 //1을 더하는 이유는 정답으로 내야하는 자리값은 인덱스 시작값인 0보다 1이 더 크기 때문
break
}else answer = -1
}
return answer
}
}
문자열 정렬하기(2)
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
class Solution {
fun solution(my_string: String): String {
var answer: String = ""
var charArr = my_string.toCharArray()
var temp:Char
for(i in 0 until charArr.size){
charArr[i] =charArr[i].toLowerCase()
}
for(i in 0 until charArr.size){
for(f in 0 until charArr.size){
if(charArr[i].toInt() <= charArr[f].toInt()){//charArr[i]값이 charArr[f]값보다 적을 때,(알파벳 순서 맞추기 위해 실행)
temp = charArr[i]
charArr[i] = charArr[f]
charArr[f] = temp
}
}
}
answer = String(charArr)
return answer
}
}
머쓱이보다 키 큰 사람
머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.
class Solution {
fun solution(array: IntArray, height: Int): Int {
var answer: Int = 0
for(i in 0 until array.size){
if(array[i] >height) answer++
}
return answer
}
}
직사각형 넓이 구하기
2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.
class Solution {
fun solution(dots: Array<IntArray>): Int {
var answer: Int = 0
var num1:Int = dots[0][0]
var num2:Int = dots[0][0]
var num3:Int = dots[0][1]
var num4:Int = dots[0][1]
for(i in 0 until 3){
if(dots[i][0] > num1) { //배열 i번째 인수의 0번째 값이 num1 보다 클 때,(최대값 계산) x축
num1 = dots[i][0]// num1에 dot[i][0]값 입력 (최댓값 등록)
}else if(dots[i][0]< num2){
num2= dots[i][0]//num2에 최솟값 등록
}
if(dots[i][1] > num3) { //배열 i번째 인수의 1번째 값이 num1 보다 클 때,(최대값 계산) y축
num3 = dots[i][1]// num3에 dot[i][1]값 입력 (최댓값 등록)
}else if(dots[i][1]< num4){
num4= dots[i][1]//num2에 최솟값 등록
}
}
answer= (num1-num2)*(num3-num4) //x축의 최댓값에서 최솟값을 빼서 변의 길이 구하고 y값도 똑같이 하여 구한 후 곱셈 실행
return answer
}
}
좋은 글 감사합니다.