https://softeer.ai/practice/info.do?idx=1&eid=624&sw_prbl_sbms_sn=184621
1. ๋ฌธ์
A๋ฅผ B๋ก ๋ฐ๊พธ๊ธฐ ์ํด ์ค์์น๋ฅผ ๋ช ๋ฒ ๋๋ฌ์ผ ํ๋๊ฐ?
2. ํ์ด
๊ตฌํ ๋ฌธ์ ์ด๋ค. ์์ด๋์ด๊ฐ ํ์ํ ๊ฒ ๊ฐ๋ค
1. A, B๋ฅผ ๊ฐ๊ฐ String ํํ๋ก ์ ๋ ฅ ๋ฐ๊ณ , ๋ง์ง๋ง ๋ฌธ์๋ถํฐ int ํํ๋ก Aํ, Bํ์ ๊ฐ๊ฐ ๋ฃ๋๋ค.
2. Aํ์ Bํ๊ฐ ๋ ๋ค ๋น์ง ์์๋ค๋ฉด ๊ฐ ํ์์ pollํด์ ๋์จ ์ซ์๋ ์ธ๋ฑ์ค๊ฐ ๋๊ณ ,
๊ฐ๊ฐ์ ์ธ๋ฑ์ค์ num ๋ฐฐ์ด์์ 0๋ถํฐ 6๊น์ง์ ์ด์ฐจ์ ๋ฐฐ์ด ๊ฐ์ด ์๋ก ๋ค๋ฅด๋ฉด ans๋ฅผ 1 ๋๋ ค์ค๋ค.
3. Aํ๋ ๋น์๊ณ Bํ๊ฐ ๋น์ง ์์๋ค๋ฉด Bํ๋ง pollํ์ฌ ๋์จ ์ซ์๋ฅผ ์ธ๋ฑ์ค๋ก ๊ฐ์ง๋ num๋ฐฐ์ด์ 0~6๊น์ง ๊ฐ์ด 1์ด๋ฉด ans๋ฅผ 1 ๋๋ ค์ค๋ค.
4. Aํ๊ฐ ๋น์ง ์์๊ณ Bํ๊ฐ ๋น์์ ๋๋ ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ํํ๋ค.
3. ์ฝ๋
import java.util.*;
import java.io.*;
public class Main
{
static int T, ans, lenA, lenB, nowA, nowB, turn;
static String A, B;
static Queue<Integer> Aq, Bq;
static int[][] num = {
//0 1 2 3 4 5 6
{1,1,1,1,1,1,0}, //0
{0,1,1,0,0,0,0}, //1
{1,1,0,1,1,0,1}, //2
{1,1,1,1,0,0,1}, //3
{0,1,1,0,0,1,1}, //4
{1,0,1,1,0,1,1}, //5
{1,0,1,1,1,1,1}, //6
{1,1,1,0,0,1,0}, //7
{1,1,1,1,1,1,1}, //8
{1,1,1,1,0,1,1}, //9
};
public static void main(String args[]) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = null;
T = Integer.parseInt(br.readLine());
for (int t=0; t<T; t++) {
ans = 0;
st = new StringTokenizer(br.readLine());
A = st.nextToken();
B = st.nextToken();
Aq = new ArrayDeque<> ();
Bq = new ArrayDeque<> ();
lenA = A.length();
lenB = B.length();
turn = Math.max(lenA, lenB);
for (int i=lenA-1; i>=0; i--) {
Aq.offer(A.charAt(i) - '0');
}
for (int i=lenB-1; i>=0; i--) {
Bq.offer(B.charAt(i) - '0');
}
solution();
System.out.println(ans);
}
}
static void solution() {
ans = 0;
while (turn-- > 0) {
nowA = 0;
nowB = 0;
if (!Aq.isEmpty() && !Bq.isEmpty()) {
nowA = Aq.poll();
nowB = Bq.poll();
for (int i=0; i<7; i++) {
if (num[nowA][i] != num[nowB][i]) ans++;
}
}
else if (Aq.isEmpty() && !Bq.isEmpty()) {
nowB = Bq.poll();
for (int i=0; i<7; i++) {
if (num[nowB][i] == 1) ans++;
}
}
else if (!Aq.isEmpty() && Bq.isEmpty()) {
nowA = Aq.poll();
for (int i=0; i<7; i++) {
if (num[nowA][i] == 1) ans++;
}
}
}
}
}
4. ์ฌ๋ด
๊ฐ๊ณ ์ถ๋ค ์ ๋ฐ ๊ฐ์ ํ ์ ์๋ค
'Algorithm > Softeer' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Softeer] ๊ธ๊ณ ํธ์ด - Java (0) | 2023.06.13 |
---|---|
[Softeer] ์ง๊ฒ๋ค๋ฆฌ - Java (0) | 2023.05.12 |
[Softeer] ๋น๋ฐ ๋ฉ๋ด - Java (0) | 2023.05.10 |
[Softeer] ๋๊ณ ํ ์คํธ ์์ ์์ธก - Java (0) | 2023.05.07 |
[Softeer] ์ฑ์ ํ๊ท - Java (0) | 2023.05.06 |