Challenge
Careers
Class
Connect
로그인 후 문제풀이가 가능합니다.
JS
const fs = require('fs'); let input = fs.readFileSync('input.txt', 'utf8').trim().split('\n').slice(1).map(line => line.split(' ')); const output = [] input.map(list => { const xIndex = list[0].search(/x/i); output.push(list[1][xIndex].toUpperCase()) }) console.log(output.join(''))
문제 풀이답안 조언 부탁드립니다.
#include <stdio.h> #include <ctype.h> int main(void) { /** * Variable */ int N; // Number of strings char string_S[500000][100]; // String S char string_T[500000][100]; // String S char string_OUTPUT[100]; // String output int X_Position[500000]; // Position of 'x' or 'X' in String S int i, j; // Used in For, While loop /** * Input */ scanf("%d", &N); for(i = 0; i < N; i++) { scanf("%s", string_S[i]); scanf("%s", string_T[i]); } /** * Logic * - get x(or X) position in string S * - Make string...
자바 정답코드 공유합니다
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); String[] sArr = new String[N]; String[] tArr = new String[N]; StringBuilder resultSb = new StringBuilder(); for(int i=0; i<N; i++) { String[] inputArr = br.readLine().split(" "); sArr[i] = inputArr[0]...
프로그래밍 초보 c정답 공유
int main(void) { __uint32_t n,i,j,k; char len_raw1[500000]; char len_raw2[500000]; scanf("%d",&n); for(k=0;k<n;k++) { scanf("%s",&len_raw1); scanf("%s",&len_raw2); for(i=0;i<500000;i++) { if(len_raw1[i]=='x' || len_raw1[i] == 'X'){ j = i; i = 500000; if(len_raw2[j] >= 97 && len_raw2[j] <= 122) { printf("%c",len_raw2[...
[Javascript] 제출 시 변수 할당 방법에 따라 런타임 에러가 발생합니다.
.charAt()메서드를 실행해서 단어 T의 특정 문자를 answer에 담을 때 런타임 에러가 발생합니다. 테스트 케이스는 둘 다 동일하게 통과하는데, 제출할 때만 에러 코드에서 런타임 에러가 발생했습니다. 아래 두 코드의 차이점은 for문 밖에서 선언한 idx 변수를 사용하느냐, for문 내부에 있는 j 변수를 사용하느냐의 차이입니다. 생각해 볼 만한 원인으로는 모종의 이유로 for문보다 아래 코드가 먼저 실행되었고, idx가 초기화되지 않은 채로 answer += T.charAt(idx);이 동작했다고 생각됩니다. 하지만 코드 내부에서 비동기 통신이라든지 오래 걸리는 동작을 지시한 것도 아닌데 그렇게 비순차적으로 동작할 이유가 있을지 잘 모르겠어서 질문 올립니다. 읽어주셔서 감사합니다. // 에러 코드 const fs = require('fs'); const input = fs.readFileSync(0).toString().split('\n'); const N = ...
파이썬의 내장메서드를 사용해야하네요.
find 메서드가 내부적으로 C로 구현이 되어있어 실행속도가 훨씬 빠르다고하네요. 전 그냥 루프돌면서, 찾으면 break 하는형식으로 돌려서 시간초과받았는데, 내장메서드 쓰니 통과되네요
C언어 풀이 오점이 궁금합니다
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int n; char str_1[5000][100]; char str_2[5000][100]; char result[5000]; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%s %s", str_1[i], str_2[i]); } int result_idx = 0; for (int i = 0; i < n; i++) { for (int j = 0; str_1[i][j] != '\0'; j++) { if (str_1[i][j] == 'x' || str_1[i][j] == 'X') { if (str_2[i][j] >= 'a' && str_2[i][j] <= 'z') result[result_idx++] = str_2[i][j] - 32; ...
왕초보 개발자의 Java 풀이 (좋은 의견 많이 구합니다..)
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); //8 StringBuilder sb = new StringBuilder(); for(int i = 0; i < N; i++){ int Pi = 0; StringTokenizer st = new StringTokenizer(br.readLine(), " "); String Si = s...
파이썬 예외 케이
import sys read = sys.stdin.readline N = int(read()) data = [read().strip() for _ in range(N)] answer = '' for words in data: data_X, data_Y = words.split() if(data_X.find('x') == -1): index = data_X.find('X') else: index = data_X.find('x') answer += data_Y[index] print(answer.upper()) 위와 같이 풀이를 작성하였는데, 예시 두 가지는 맞고 문제 자체는 틀린 것으로 나옵니다. 아마 제가 생각하지 못한 예외 케이스가 있을 것 같은데, 틀린 이유가 궁금합니다. 감사합니다.
풀이의 잘못된 점 잡아주시면 감사하겠습니다.
n 최대 500,000 문자열이 최대 1,000,000 이라길래 S length + T length = 1,000,000 이면 S에서 X를 탐색하는 과정에서 O(NS) 로 시간초과가 날것이라 생각해서 탐색 과정을 없애기위해 아래처럼 풀었는데요. 그냥 한 글자 입력마다 x인지 확인하고 인덱스만 찾아놓아서 합치는 방식으로 하려했는데 계속 틀렸다고 나와서요.. int n; char t[500005], ans[500005]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { int idx = 0; getchar(); int cntA = 0; char a; while (1) { a = getchar(); if (a == ' ') break; if (a == 'x' || a == 'X') { idx = cntA; ...