728x90

2024/06/20 5

[React] TicTacToe앱 만들기(3) - 게임 동작 기록, jumpTo()

1. 게임 동작 기록하기게임 동작을 기록하기 위해 History 배열을 생성하고 squares 배열이 동작할 때마다 squares 배열을 history 배열에 저장한다.우선 최상위 컴포넌트에 history state를 추가하고, Board 컴포넌트의 sIsNext state와 winner 관련 코드들을 최상위 컴포넌트로 옮긴다.function App() {  const [history, setHistory] = useState([{ squares: Array(9).fill(null) }]);  const [xIsNext, setXIsNext] = useState(true);    const calculateWinner = (squares) => {    const lines = [      [0, 1, ..

Frontend/React 2024.06.20

[백준 자바] 12813번(이진수 연산) - and, or, xor, not

난이도 - 브론즈 2문제총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오.입력첫째 줄에 이진수 A, 둘째 줄에 이진수 B가 주어진다. 두 이진수의 길이는 모두 100,000이다. 예제의 경우에만 길이가 10이며, 예제는 채점하지 않는다.출력첫째 줄부터 한 줄에 하나씩 차례대로 A & B, A | B, A ^ B, ~A, ~B를 출력한다.  AND둘 다 1일 때만 연산 결과가 1OR둘 다 0일 때만 연산 결과가 0XOR두 값이 다르면 1, 같으면 0NOT해당 값이 0이면 1, 1이면 0import java.io.*;public class Main12813 { public static void m..

백준/Java 2024.06.20

[백준 자바] 2729번(이진수 덧셈)

난이도 - 브론즈 1문제이진수 덧셈은 매우 간단하고, 십진수 덧셈과 비슷하게 하면 된다. 십진수 덧셈을 할 때는, 오른쪽부터 왼쪽으로 차례대로 숫자 하나씩 더하면 된다. 이진수 덧셈도 이와 비슷하게 하면 된다. 십진수 덧셈은 외워야 할 덧셈이 많지만, 이진수 덧셈은 아래와 같이 5가지만 기억하면 된다.0 + 0 = 01 + 0 = 10 + 1 = 11 + 1 = 101 + 1 + 1 = 11두 이진수가 주어졌을 때, 그 합을 이진수로 출력하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 수 T(1출력각 테스트 케이스에 대해 입력으로 주어진 두 이진수의 합을 구해 이진수로 출력한다. 숫자의 앞에 불필요한 0이 붙으면 안 된다.  로직은 1252번에 사용한 코드와 같다.2024.06.20 - [백준/..

백준/Java 2024.06.20

[백준 자바] 1252번(이진수 덧셈) - 정규표현식, String.format()

난이도 - 브론즈 2문제두 개의 이진수를 입력받아 이를 더하는 프로그램을 작성하시오.입력첫째 줄에 두 개의 이진수가 빈 칸을 사이에 두고 주어진다. 각 이진수는 1 또는 0으로만 이루어져 있으며, 0으로 시작할 수도 있다. 또한 각 이진수의 길이는 80을 넘지 않는다.출력첫째 줄에 이진수 덧셈 결과를 출력한다. 결과가 0인 경우를 제외하고는 출력되는 이진수는 항상 1로 시작해야 한다.  입력받은 2진수의 앞에 있는 모든 '0'을 제거한다.2진수의 길이가 0이 되면 2진수를 '0'으로 설정한다.binarySum()두 2진수의 길이를 맞춘다. 더 짧은 2진수의 앞에 부족한만큼 '0'을 채운다.더하기 수행: b1.charAt(i) + b2.charAt(i) + carry (carry는 처음에는 뒤에서 넘어오는..

백준/Java 2024.06.20

[백준 자바] 2226번(이진수)

난이도 - 골드 4문제0과 1로 구성된 이진수가 있다. 이 이진수에서 0을 10으로, 1을 01로 동시에 치환하면 길이가 두 배인 이진수를 얻을 수 있다. 이러한 이진수들을 차례로 나열하면 하나의 이진수 수열이 된다. 편의상 시작 수는 1이라고 하자. 처음 몇 개의 이진수들을 구해 보면,1 → 01 → 1001 → 01101001 → …이 된다.N이 주어졌을 때, N번째 이진수에서 연속된 0들의 그룹이 몇 개나 있는지 알아내는 프로그램을 작성하시오. N=4일 경우의 이진수는 01101001이고, 따라서 이 안에는 연속된 0들이 세 그룹 있게 된다.입력첫째 줄에 정수 N(1 ≤ N ≤ 1,000)이 주어진다.출력첫째 줄에 답을 출력한다.  2진수를 나열하고 0의 그룹 개수를 찾는 코드를 작성하면 메모리 초..

백준/Java 2024.06.20
728x90