ACM编程题【题目难度 | 中等】※※※
语言限制 | 编程题|平均分35.0分 | 1人正确/11人做题 | 提交:0次
标题:敏感字段加密 | 时间限制:1秒 | 内存限制:65536K | 语言限制: 不限
敏感字段加密
■ 题目描述
【敏感字段加密】
给定一个由多个命令字组成的命令字符串:
1、字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号;
2、命令字之间以一个或多个下划线_进行分割;
3、可以通过两个双引号””来标识包含下划线_的命令字或空命令字(仅包含两个双引号的命令字),双引号不会在命令字内部出现;
请对指定索引的敏感字段进行加密,替换为******(6个*),并删除命令字前后多余的下划线_。
如果无法找到指定索引的命令字,输出字符串ERROR。
输入描述
输入为两行,第一行为命令字索引K(从0开始),第二行为命令字符串S。
输出描述
输出处理后的命令字符串,如果无法找到指定索引的命令字,输出字符串ERROR
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
1
password__a12345678_timeout_100
输出
password_******_timeout_100
示例2 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
2
aaa_password_"a12_45678"_timeout__100_""_
输出
aaa_password_******_timeout_100_""
代码实现
C++
#include <bits/stdc++.h> using namespace std; class Solution { public: string SensitiveFieldEncryption(string &s, int K) { vector<string> coms; for (int i = 0; i < s.length();) { if (s[i] == '"') {
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法一
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int k = Integer.parseInt(scanner.nextLine()); String s = scanner.nextLine();
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法二
package com.Huawei.NowCoder; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看JavaScript
let n = Number(readLine()); let s = readLine(); // let n = Number("2"); // let s = 'aaa_password_"a12_45678"_timeout__100_""_';
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看Python
if __name__ == "__main__": while 1: try: k = int(input())
剩余50%内容,订阅会员后查看
此处内容需要权限查看
会员免费查看