본문 바로가기
728x90
반응형

분류 전체보기279

firstNotRepeatingCharacter 주어진 문자열에서 첫 번째로 등장하는 반복되지 않는 문자를 찾는 것입니다. 즉, 문자열에서 한 번만 등장하는 문자를 찾아야 합니다. 만약 이러한 문자가 없다면 '_'를 반환해야 합니다. 예를 들어, 문자열 "abacabad"에서는 'c'와 'd'가 두 번 등장하지 않으므로 두 문자 중 첫 번째로 등장하는 'c'를 반환해야 합니다. 문제의 구체적인 설명은 다음과 같습니다: 주어진 문자열 s는 소문자 영어 알파벳으로만 구성됩니다. 문자열의 길이는 1에서 10^5 사이입니다. 첫 번째로 등장하는 반복되지 않는 문자를 찾아 반환합니다. 만약 이러한 문자가 없다면 '_'를 반환합니다. char solution(string s) { Dictionary dic = new Dictionary(); foreach(cha.. 2024. 2. 27.
Count Sum of Two Representations 2 주어진 정수 n을 두 정수 A와 B의 합으로 나타낼 때, A와 B가 주어진 범위 [l, r]에 속하는 경우의 수를 찾는 것입니다. 주어진 범위 [l, r] 내에서 A와 B를 선택하여 n을 만드는 경우의 수를 구하는 방법은 다음과 같습니다: A를 l부터 r까지 선택합니다. 선택한 A에 대해 B를 선택합니다. B는 A보다 같거나 크면서, n - A보다 작거나 같은 범위여야 합니다. 즉, B는 max(A, n - A)부터 r까지 선택 가능합니다. 선택한 A와 B에 대해 n = A + B를 만족하는 경우의 수를 세어줍니다. def solution(n, l, r): count = 0 for A in range(l,r+1): if n - A >= A and n- A 2024. 2. 26.
Kill K-th Bit 주어진 수의 이진 표현에서 특정 위치의 비트를 변경하는 것입니다. 특히, 주어진 수 n의 이진 표현에서 오른쪽에서 k번째 비트가 0으로 설정되어 있었지만, 현재 그 값이 다를 수 있습니다. 이 비트를 다시 0으로 변경하는 함수를 작성해야 합니다. 예를 들어, n = 37이고 k = 3인 경우, 주어진 수의 이진 표현은 100101입니다. 이때, 3번째 비트를 0으로 변경하면 100001이 되어 10진수로는 33이 됩니다. def solution(n, k): return n & ~(1 2024. 2. 22.
Tennis Set 두 테니스 선수의 점수가 주어졌을 때, 경기가 끝났을 때 한 선수가 승리하는지 여부를 판단하는 것입니다. bool solution(int score1, int score2) { int maxScore = Math.Max(score1, score2); int minScore = Math.Min(score1, score2); // 한 선수가 6점을 얻고 다른 선수가 4점 이하인 경우, 한 선수가 승리 if (maxScore == 6 && minScore = 5 && minScore 2024. 2. 20.
Late Ride 자전거 타이머를 통해 경과된 시간을 이용하여 현재 시간을 계산하고, 계산된 시간의 시각 표시 형식인 "hh:mm"의 각 자리 숫자를 모두 더하는 것입니다. 주어진 정수 n은 자전거 타이머를 통해 경과된 시간(분)을 나타냅니다. 이를 이용하여 현재 시간을 계산하고, "hh:mm" 형식으로 표시한 뒤 각 자리 숫자를 더하면 됩니다. 예를 들어, n이 240일 때, 240분 후에는 현재 시간이 04:00이므로, 각 자리 숫자를 더하면 0 + 4 + 0 + 0 = 4가 됩니다. 이것이 반환해야 하는 정답입니다. n이 808일 때, 808분 후에는 현재 시간이 13:28이므로, 각 자리 숫자를 더하면 1 + 3 + 2 + 8 = 14가 됩니다. 이것이 반환해야 하는 정답입니다. int solution(int n).. 2024. 2. 6.
Circle of Numbers 원형으로 배치된 정수들 중에서, 주어진 firstNumber와 반대편에 위치한 숫자를 찾는 것입니다. 원의 둘레에 따라 숫자들이 배치되어 있다고 가정하며, 이때 firstNumber의 반대편에 위치한 숫자를 찾아 반환합니다. 예를 들어, n = 10이고 firstNumber = 2라면, 원의 둘레에 0부터 9까지의 숫자가 순서대로 배치되어 있다고 생각할 수 있습니다. 여기서 firstNumber가 2이므로, 반대편에 위치한 숫자는 7이 됩니다. int solution(int n, int firstNumber) { // 반대편에 위치한 숫자는 (firstNumber + n / 2) % n 입니다. int oppositeNumber = (firstNumber + n / 2) % n; return opposi.. 2024. 2. 5.
Sudoku Sudoku는 9x9 격자를 사용하여 숫자를 채우는 논리 기반의 숫자 퍼즐 게임입니다. 각 행, 각 열, 그리고 3x3 크기의 작은 격자에는 1부터 9까지의 숫자를 중복되지 않게 채워넣어야 합니다. 게임이 시작될 때 일부 셀에는 이미 숫자가 채워져 있습니다. 일반적으로 미리 채워진 숫자는 퍼즐을 해결하는 데 도움이 되며, 유저는 논리적 추론과 수의 배치를 통해 격자를 완성해야 합니다. 게임의 목표는 다음과 같습니다: 각 행에 1에서 9까지의 숫자가 중복 없이 나타나야 합니다. 각 열에 1에서 9까지의 숫자가 중복 없이 나타나야 합니다. 3x3 크기의 작은 격자에 1에서 9까지의 숫자가 중복 없이 나타나야 합니다. 이 규칙을 모든 행, 열 및 작은 격자에 적용하여 퍼즐을 해결합니다. 퍼즐을 완성하려면 각 .. 2024. 1. 31.
728x90
반응형