class Solution {
public String solution(String X, String Y) {
String answer = "";
for(int i=0; i<X.length();i++) {
for(j=0;j<Y.length();i++){
if(X.charAt(i) == Y.charAt(i)) {
answer += X.charAt(i);
}else {
answer += '-1';
}
}
}
return answer.desc();
}
}
class Solution {
public String solution(String X, String Y) {
int[] countX = new int[10];
int[] countY = new int[10];
for(char c : X.toCharArray()) {
countX[c-'0']++;
}
for(char c : Y.toCharArray()) {
countY[c-'0']++;
}
StringBuilder sb = new StringBuilder();
for(int i=9;i>=0;i--) {
int commoncount = Math.min(countX[i], countY[i]);
for(int j=0;j<commoncount;j++) {
sb.append(i);
}
}
if(sb.length() ==0) {
return "-1";
}
if(sb.charAt(0) == '0') {
return "0";
}
return sb.toString();
}
}
class Solution {
public String solution(String[] survey, int[] choices) {
int[] countR = new int[10];
int[] countT = new int[10];
int[] countC = new int[10];
int[] countF = new int[10];
int[] countJ = new int[10];
int[] countM = new int[10];
int[] countA = new int[10];
int[] countN = new int[10];
for(int i=0;i<choices.length;i++) {
char a = survey[i].charAt(0);
char b = survey[i].charAt(1);
if(choices[i] > 4) {
}
return answer;
}
}
}
AI 풀이
각각 배열 안쓰고 HashMap쓰면 더 깔끔하게 관리할 수 있음
정해진 지표 두개 비교해서 큰거 선택하고, 같으면 사전순서 빠른순으로 선택
제출 정답
import java.util.HashMap;
import java.util.Map;
class Solution {
public String solution(String[] survey, int[] choices) {
Map<Character, Integer> scoreMap = new HashMap<>();
for(int i=0;i<choices.length;i++) {
char a = survey[i].charAt(0);
char b = survey[i].charAt(1);
int choice = choices[i];
if(choice < 4) {
scoreMap.put(a, scoreMap.getOrDefault(a, 0) + (4-choice));
}
else if(choice > 4) {
scoreMap.put(b, scoreMap.getOrDefault(b,0) + (choice-4));
}
}
StringBuilder sb = new StringBuilder();
sb.append(scoreMap.getOrDefault('R', 0) >= scoreMap.getOrDefault('T', 0) ? 'R' : 'T');
sb.append(scoreMap.getOrDefault('C', 0) >= scoreMap.getOrDefault('F', 0) ? 'C' : 'F');
sb.append(scoreMap.getOrDefault('J', 0) >= scoreMap.getOrDefault('M', 0) ? 'J' : 'M');
sb.append(scoreMap.getOrDefault('A', 0) >= scoreMap.getOrDefault('N', 0) ? 'A' : 'N');
return sb.toString();
}
}
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
for(int i =0;i<score.length;i++) {
}
return answer;
}
}
AI 풀이
우선 오름차순으로 정렬하고, 뒤에서부터 거꾸로 m씩 묶으면 제일 앞에 값이 가장 낮은 점수임
제출 정답
import java.util.Arrays;
class Solution {
public int solution(int k, int m, int[] score) {
int answer = 0;
Arrays.sort(score);
for(int i =score.length-m;i>=0;i-=m) {
answer += score[i] *m;
}
return answer;
}
}